|
这篇文章给大家分享的是有关的内容docker容器中安装部署和运行jenkins的步骤。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
一、安装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/blueoceandocker提示没有开启转发解决方法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 把 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运行gitlabdocker 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.107port: 8090
#此处修改为8090https: 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
以上就是docker容器中安装部署和运行jenkins的步骤,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注Vecloud行业资讯! |
|