gitlab自动触发jenkins

设置jenkins:

手动触发:

[root@server6 ~]# chmod 777 /var/run/docker.sock   ##权限

查看控制台:

在harbor查看:

自动触发:

添加插件:

在gitlab中打开外部请求:管理中心—>设置(网路)

之后进入到项目中:设置(webhooks)

在gitlab中:

测试jenkins是否可以触发,上传镜像到harbor:

第十次触发:

在harbor仓库中查看:

构建好jenkins自动触发:

[root@server5 demo]# git add index.html
[root@server5 demo]# git commit -a -m "updata index.html"

[root@server5 demo]# git push -u origin master

手动触发docker:

[root@server6 ~]# curl localhost

查看harbor仓库:

远程构建镜像:

在远程主机server8上安装docker

[root@server6 sysctl.d]# scp bridge.conf root@192.168.21.139:/etc/sysctl.d/

[root@server8 sysctl.d]# sysctl --system    ##使文件生效

Jenkins使用tls方式连接docker构建主机:

生成key和ca证书:

[root@server8 ~]# openssl genrsa -aes256 -out ca-key.pem 4096

[root@server8 ~]# openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

生成相应的文件:

生成server-key和csr文件:

[root@server8 ~]# openssl genrsa -out server-key.pem 4096

[root@server8 ~]# openssl req -subj "/CN=server8" -sha256 -new -key server-key.pem -out server.csr

可以使用ip地址方式进行tls连接:

[root@server8 ~]# echo subjectAltName = DNS:server8,IP:192.168.21.139,IP:127.0.0.1 >> extfile.cnf

[root@server8 ~]# echo extendedKeyUsage = serverAuth >> extfile.cnf

[root@server8 ~]# openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem   -CAcreateserial -out server-cert.pem -extfile extfile.cnf

安装docker证书:

[root@server8 ~]# cp /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service

[root@server8 ~]# vim /etc/systemd/system/docker.service

[root@server8 ~]# cp ca.pem server-cert.pem server-key.pem /etc/docker/    ##将本机用到的证书移动到/etc/docker中

[root@server8 ~]# systemctl daemon-reload      ##重新加载
[root@server8 ~]# systemctl restart docker         ##重启docker

[root@server8 ~]# netstat -antlp      ##查看端口

生成客户端key和证书:

[root@server8 ~]# openssl genrsa -out key.pem 4096

[root@server8 ~]# openssl req -subj '/CN=client' -new -key key.pem -out client.csr

[root@server8 ~]# echo extendedKeyUsage = clientAuth > extfile.cnf

[root@server8 ~]# openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem   -CAcreateserial -out cert.pem -extfile extfile.cnf

在jenkins主机server6中:

测试:

禁用docker:(在server8添加解析)

[root@server5 demo]# vim index.html

[root@server5 demo]# git commit -a -m "update index.html v4"

[root@server5 demo]# git push -u origin master

[root@server8 docker]# vim /etc/hosts     ##添加解析

[root@server6 docker]# scp -r certs.d/ root@192.168.21.139:/etc/docker/        ##复制证书

手动触发:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值