CI/CD工具Jenkins学习(三) (使用tls方式连接docker主机 + ssh插件的使用)

Jenkins使用tls方式连接docker构建主机(https)

实验环境:

172.25.2.7  ser6 jenkins主机
172.25.2.8  ser8gitlab仓库
172.25.2.2  ser1 harbor仓库
172.25.2.9   ser9 新添加的主机 (docker服务端)
关闭selinux和firwalld

1.在docker服务端,生成key和ca证书。

# openssl genrsa -aes256 -out ca-key.pem 4096
# openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
生成server-key和csr文件(server3为dcker主机名)
# openssl genrsa -out server-key.pem 4096
#openssl req -subj "/CN=server3" -sha256 -new -key server-key.pem -out server.csr

可以使用ip地址方式进行tls连接
# echo subjectAltName = DNS:server3,IP:172.25.0.13,IP:127.0.0.1 >> extfile.cnf
# echo extendedKeyUsage = serverAuth >> extfile.cnf

# 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证书:

# cp ca.pem server-cert.pem server-key.pem /etc/docker/
# cp /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
# vim /etc/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376

# systemctl daemon-reload 
# systemctl restart docker

# netstat -antlp |grep :2375

生成客户端key和证书

# openssl genrsa -out key.pem 4096

# openssl req -subj '/CN=client' -new -key key.pem -out client.csr

# echo extendedKeyUsage = clientAuth >> extfile.cnf

# openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem   -CAcreateserial -out cert.pem -extfile extfile.cnf

1.在ser9上
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述2)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
改为tcp方式连接
在这里插入图片描述在这里插入图片描述
创建客户端的证书
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
3)让jenkins识别到证书
在这里插入图片描述在这里插入图片描述
添加客户端的证书
在这里插入图片描述添加客户端的认证
在这里插入图片描述添加server的ca证书
在这里插入图片描述在这里插入图片描述在这里插入图片描述
点击添加
在这里插入图片描述
4)在docker主机ser9中添加hatbor仓库的解析
在这里插入图片描述在这里插入图片描述5)将harbor仓库的认证给ser9
在这里插入图片描述在这里插入图片描述6)进行测试
代码仓库中的代码等,都参考前面写的文章,这里直接测试。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述7)再对整个流程进行测试

在ser8代码仓库中
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

测试ssh 插件

在这里插入图片描述在这里插入图片描述
1.为jenkins添加ssh 模块
在这里插入图片描述在这里插入图片描述在这里插入图片描述
2.点击系统设置
在这里插入图片描述在这里插入图片描述
点击新增
在这里插入图片描述
选择添加用户
在这里插入图片描述在这里插入图片描述
点击保存
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述进行手动推送时
在这里插入图片描述
在ser9上
在这里插入图片描述在这里插入图片描述
对ssh脚本进行改进
在这里插入图片描述在这里插入图片描述

在ser8中改变代码
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值