189 8069 5689

docker容器中安装部署和运行jenkins的步骤-创新互联

这篇文章给大家分享的是有关的内容docker容器中安装部署和运行jenkins的步骤。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

和田县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

一、安装

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.conf
net.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/localtime

Jenkins系统上的时间不正确问题

很简单,点击系统管理,选择执行脚本命令:

打开 【系统管理】->【脚本命令行】运行下面的命令

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

docker容器中安装部署和运行jenkins的步骤

2.docker运行gitlab

  • 先创建需要挂载的三个目录:配置 (etc) 、 日志 (log) 、数据 (data)
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -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.rb
external_url 'http://192.168.100.107'
gitlab_rails['gitlab_ssh_host'] = '192.168.100.107'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
gitlab_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: false

gitlab-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 unicorn
gitlab-ctl stop sideki

二、jenkins应用

1.jenkins权限管理

  • 安装插件:

docker容器中安装部署和运行jenkins的步骤

  • 启用插件

docker容器中安装部署和运行jenkins的步骤

此时再点击系统管理,会多出一项:Manage and Assign Roles

docker容器中安装部署和运行jenkins的步骤

  • 创建一个用户:deva

点击

docker容器中安装部署和运行jenkins的步骤

docker容器中安装部署和运行jenkins的步骤

  • 使用Manage and Assign Roles 管理分配用户

管理用户

docker容器中安装部署和运行jenkins的步骤

分配用户

docker容器中安装部署和运行jenkins的步骤

这样 deva用户 就只能看到dev- 的job了,并且 只有执行job的权限。

2.jenkins执行脚本

  • 在节点上写一个测试脚本,并给脚本赋予执行权限
[root@vm2 ~]# cat test.sh 
#!/bin/bash
echo lingxd
echo $1
  • 创建自由风格job

参数化构建

docker容器中安装部署和运行jenkins的步骤
docker容器中安装部署和运行jenkins的步骤

点击构建 选择参数

docker容器中安装部署和运行jenkins的步骤

3.pipeline 初探

  • 创建job

docker容器中安装部署和运行jenkins的步骤

  • 配置

docker容器中安装部署和运行jenkins的步骤

脚本内容

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插件

docker容器中安装部署和运行jenkins的步骤

  • 去gitlab生成token

docker容器中安装部署和运行jenkins的步骤

  • 系统管理-->系统配置 配置gitlab

docker容器中安装部署和运行jenkins的步骤

  • 创建pipeline 类型job

docker容器中安装部署和运行jenkins的步骤

docker容器中安装部署和运行jenkins的步骤

  • 登录gitlab配置项目集成,添加webhook

先点击进入你要配置的项目,找到设置,点击集成

docker容器中安装部署和运行jenkins的步骤

docker容器中安装部署和运行jenkins的步骤

上面要填的url和token,看上一步骤

如果创建webhook失败,提示不可以本地网络认证,需要在设置里面设置下。

docker容器中安装部署和运行jenkins的步骤
docker容器中安装部署和运行jenkins的步骤

这样 就实现了dev分支只要有代码提交,就会自动触发jenkins的job

以上就是docker容器中安装部署和运行jenkins的步骤,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注创新互联行业资讯!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:docker容器中安装部署和运行jenkins的步骤-创新互联
地址分享:http://cdxtjz.cn/article/ccjepj.html

其他资讯