jenkins持续集成之harbor仓库

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

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

jenkins持续集成之harbor仓库_第1张图片jenkins持续集成之harbor仓库_第2张图片手动触发demo权限首先,需要修改docker.sock文件权限
jenkins持续集成之harbor仓库_第3张图片在这里插入图片描述jenkins持续集成之harbor仓库_第4张图片更改docker项目的配置
jenkins持续集成之harbor仓库_第5张图片jenkins持续集成之harbor仓库_第6张图片更改index.html文件上传到gitlab,此时demo项目会被自动触发
jenkins持续集成之harbor仓库_第7张图片jenkins持续集成之harbor仓库_第8张图片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

jenkins持续集成之harbor仓库_第9张图片jenkins持续集成之harbor仓库_第10张图片
生成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

jenkins持续集成之harbor仓库_第11张图片在这里插入图片描述
使用ip地址方式进行tls连接

echo subjectAltName = DNS:server3,IP:172.20.10.9,IP:127.0.0.1 >> extfile.cnf
echo 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

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

交付到远端主机

在jenkins上安装ssh插件,通过ssh在远程执行shell命令
jenkins持续集成之harbor仓库_第19张图片jenkins持续集成之harbor仓库_第20张图片jenkins持续集成之harbor仓库_第21张图片在远程主机中执行shell脚本
jenkins持续集成之harbor仓库_第22张图片jenkins持续集成之harbor仓库_第23张图片

你可能感兴趣的:(jenkins持续集成之harbor仓库)