jenkins部署应用(docker版本)
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,一、安装1.docker镜像运行jenkins安装详细步骤参考官方文档https://jenkins.io/zh/doc/book/installing/docker run \ -u root \
千家信息网最后更新 2025年12月01日jenkins部署应用(docker版本)
一、安装
1.docker镜像运行jenkins
- 安装详细步骤参考官方文档https://jenkins.io/zh/doc/book/installing/
docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean- docker提示没有开启转发解决方法
vim /usr/lib/sysctl.d/00-system.confnet.ipv4.ip_forward=1 #新添加重启network
- 浏览器访问8080端口
如果界面提示Jenkins正在启动,请稍后...或者提示
Please wait while Jenkins is getting ready to work...
解决方法:
需要你进入jenkins的工作目录,打开 hudson.model.UpdateCenter.xml 把 http://updates.jenkins-ci.org/update-center.json 改成 http://mirror.xmission.com/jenkins/updates/update-center.json
- Jenkins对离线和插件安装慢解决方法
cd /var/jenkins_home/updates/ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && \sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json- 时间不一致问题解决办法
Docker 容器时间跟主机时间保持同步
docker cp /usr/share/zoneinfo/Asia/Shanghai jenkins02:/etc/localtimeJenkins系统上的时间不正确问题
很简单,点击系统管理,选择执行脚本命令:
打开 【系统管理】->【脚本命令行】运行下面的命令
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
2.docker运行gitlab
- 先创建需要挂载的三个目录:配置 (etc) 、 日志 (log) 、数据 (data)
mkdir -p /mnt/gitlab/etcmkdir -p /mnt/gitlab/logmkdir -p /mnt/gitlab/data- 运行gitlab
docker container run -it \-p 8090:80 -p 8443:443 -p 8022:22 \--restart unless-stopped \-v /mnt/gitlab/etc:/etc/gitlab \-v /mnt/gitlab/log:/var/log/gitlab \ -v /mnt/gitlab/data:/var/opt/gitlab \--name gitlab gitlab/gitlab-ce:latest- 进入容器 修改配置
把external_url改成部署机器的域名或者IP地址
vim /etc/gitlab/gitlab.rbexternal_url 'http://192.168.100.107'gitlab_rails['gitlab_ssh_host'] = '192.168.100.107'gitlab_rails['gitlab_shell_ssh_port'] = 8022gitlab_rails['gitlab_shell_git_timeout'] = 800重启容器
docker restart gitlab修改克隆时的端口,默认是80,但我们映射成了8090,因此需要修改
每次重启容器 都需要执行者一步
进入容器执行
root@6129313605ed:/# cd /var/opt/gitlab/gitlab-rails/etc/vim gitlab.yml gitlab: ## Web server settings (note: host is the FQDN, do not include http://) host: 192.168.100.107 port: 8090 #此处修改为8090 https: falsegitlab-ctl restart #重启- 常用的几个Gitlab命令
# 重新应用gitlab的配置gitlab-ctl reconfigure# 重启gitlab服务gitlab-ctl restart# 查看gitlab运行状态gitlab-ctl status#停止gitlab服务gitlab-ctl stop# 查看gitlab运行日志gitlab-ctl tail# 停止相关数据连接服务gitlab-ctl stop unicorngitlab-ctl stop sideki二、jenkins应用
1.jenkins权限管理
- 安装插件:
- 启用插件
此时再点击系统管理,会多出一项:Manage and Assign Roles

- 创建一个用户:deva
点击
- 使用Manage and Assign Roles 管理分配用户
管理用户
分配用户
这样 deva用户 就只能看到dev- 的job了,并且 只有执行job的权限。
2.jenkins执行脚本
- 在节点上写一个测试脚本,并给脚本赋予执行权限
[root@vm2 ~]# cat test.sh #!/bin/bashecho lingxdecho $1- 创建自由风格job
参数化构建
点击构建 选择参数
3.pipeline 初探
- 创建job
- 配置
脚本内容
node { stage('Code PUll'){ echo "Code PUll" git credentialsId: 'ee5eb9ea-39a9-48c3-9b02-0b6985ed092a', url: 'http://192.168.100.117:8090/root/bk.git' } stage('Code Build'){ echo "code build" sh '/root/mvn/apache-maven-3.6.3/bin/mvn clean compile' } stage('Unit Test'){ echo "unit test" } stage('是否部署'){ input '部署测试环境' } stage('Deploy Test ENV'){ sh '/root/test.sh 123' }}4.Jenkins和gitlab集成自动触发
- jenkins插件管理安装GitLab Plugin插件
- 去gitlab生成token
- 系统管理-->系统配置 配置gitlab
- 创建pipeline 类型job
- 登录gitlab配置项目集成,添加webhook
先点击进入你要配置的项目,找到设置,点击集成
上面要填的url和token,看上一步骤
如果创建webhook失败,提示不可以本地网络认证,需要在设置里面设置下。
这样 就实现了dev分支只要有代码提交,就会自动触发jenkins的job
管理
配置
系统
脚本
运行
容器
插件
用户
命令
时间
提示
方法
权限
服务
应用
参数
数据
日志
步骤
目录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四川优居匠网络技术服务
什么时候用数据库连接池
精灵宝可梦服务器生存第一期
北邮网络安全导师崔翔
群英服务器租用
阿里巴巴网络安全顾问是谁
我的世界游戏服务器哪个好玩
房山回收二手服务器价钱
管理与配置samba服务器
编写数据库要用什么语言
大连网络安全认证平台地址
网络技术对人类有益的理由
浙江湖州网络安全周宣传
央媒全国网络安全员
计算机网络安全培训就业方向
软件开发规范国标
网络安全存储服务器机箱生产
学软件开发目标
工作站与服务器之间的区别
关注网络安全的宣传语
服务器顶级配置
软件开发项目成本分析
软件开发技术员工资待遇
服务器怎么重新设置路由器
华为软件开发云政府补贴
15岁学习网络安全吗
信贷软件开发最新官方版
思科pt模拟器服务器是哪个
交通银行软件开发笔试真题
崇明区机电软件开发厂家直销