jenkins持续集成之harbor仓库

2022-04-15 15:06:16

Jenkins自动构建docker镜像,并上传至harbor仓库

更改jenkins的配置:
1、改变仓库项目为harbor私有仓库中的library
2、更改docker仓库的url为http://reg.westos.org

在这里插入图片描述在这里插入图片描述手动触发demo权限首先,需要修改docker.sock文件权限
在这里插入图片描述在这里插入图片描述在这里插入图片描述更改docker项目的配置
在这里插入图片描述在这里插入图片描述更改index.html文件上传到gitlab,此时demo项目会被自动触发
在这里插入图片描述在这里插入图片描述harbor仓库中会有更新

构建任务在远端主机

将构建任务放在远程主机中进行,在远程主机中安装docker
使用tcp的方式进行连接,需要证书使用tls方式连接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文件(server9为dcker主机名)

openssl genrsa -out server-key.pem 4096
openssl req -subj"/CN=server9" -sha256 -new -key server-key.pem -out server.csr

在这里插入图片描述在这里插入图片描述
使用ip地址方式进行tls连接

echo subjectAltName= DNS:server3,IP:172.20.10.9,IP:127.0.0.1>> extfile.cnfecho extendedKeyUsage= serverAuth>> extfile.cnf

在这里插入图片描述在这里插入图片描述
生成server-cert.pem

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的启动文件
查看docker的启动文件位置/usr/lib/systemd/system/docker.service
在这里插入图片描述将启动文件复制到/etc/systemd/system
在这里插入图片描述更改文件,启动tls连接,指定ca证书,指定2376端口号,和jenkins中的端口号一致
在这里插入图片描述在这里插入图片描述生成客户端的key和证书
在这里插入图片描述客户端认证
在这里插入图片描述在以上生成的文件中:cert.pem和key.pem是专门用于客户端的,server-key.pem和server-cert.pem是专门用于server端的,ca.pem公用
在jenkins中配置server端认证方式
在这里插入图片描述在这里插入图片描述远端主机连接harbor仓库是通过加密的方式,因此,需要将harbor的认证证书复制一份到远程主机中

交付到远端主机

在jenkins上安装ssh插件,通过ssh在远程执行shell命令
在这里插入图片描述在这里插入图片描述在这里插入图片描述在远程主机中执行shell脚本
在这里插入图片描述在这里插入图片描述

  • 作者:易烊千玺玊尔
  • 原文链接:https://blog.csdn.net/weixin_43834060/article/details/106823403
    更新时间:2022-04-15 15:06:16