jenkins持续集成之harbor仓库

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.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

在这里插入图片描述修改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脚本
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个持续集成工具,用于自动化构建、测试和部署软件。Docker是一个开源的容器化平台,可以帮助开发人员打包应用程序和其依赖项成为一个容器。Harbor是一个企业级的Docker镜像注册表,可以帮助组织管理和存储Docker镜像。 在自动化部署流程中,Jenkins可以与Docker和Harbor结合使用,实现自动化构建、打包和部署应用程序的流程。具体步骤如下: 首先,开发人员在代码仓库中提交新的代码。Jenkins会定期检测代码仓库的变化,一旦检测到新的代码提交,Jenkins就会触发自动化构建流程。 在构建过程中,Jenkins会使用Docker来创建应用程序的镜像,将应用程序和其依赖项打包成一个可移植的容器。然后,Jenkins会将构建的镜像推送到Harbor中进行存储与管理。 接下来,Jenkins会触发自动化部署流程。在部署过程中,Jenkins会从Harbor中拉取最新的镜像,并将其部署到目标环境中。这可以是测试环境、预发布环境或生产环境,具体取决于组织的部署策略。 在部署完成后,Jenkins可以执行自动化测试流程,验证应用程序在目标环境中的运行情况。如果测试通过,部署流程就会顺利完成。如果测试失败,Jenkins会通知相关人员,并触发回滚流程。 通过整合Jenkins、Docker和Harbor,可以实现一个端到端的自动化部署流程,帮助组织提高软件交付的效率和质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值