容器自动化部署--jenkins+gitlab+Harbor实现容器自动化部署

本文详细介绍了如何配置和使用 Jenkins、GitLab 和 Docker Harbor 完成容器自动化部署。首先,确保各服务器的 Docker 和相关工具安装配置,接着设置 Jenkins 中的 SSH 凭据、安装必要插件。然后,通过密钥配对实现 Jenkins 与 GitLab 的连接。接下来,配置远程机器的凭据,最后编写并执行构建和部署的 shell 脚本,完成自动化流程。

这是我做的容器自动化部署架构图:

这里我把gitlab和jenkins部署在一台机器上:192.168.6.10

docker-Harbor服务器:192.168.6.3

测试环境:192.168.6.136

生产环境:192.168.6.5

首先,jenkins服务器、测试环境和正式环境上需要安装docker且配置可登录Harbor服务拉取镜像,不在介绍,详情参考前面发的帖文,其次,需要在jenkins机器上安装git以便后期可以从jenkins服务器上拉取gitlab上的代码。

这里需要注意,jenkins机器上要安装git、jdk、maven、docker并且配置可以登录Harbor私库,详情参考前边的帖文。

# 基础配置

①、需要在业务机器(测试机、正式机)上配置:

# visudo

#

#Defaults        requiretty

Defaults:root !requiretty

否则在执行远程脚本的时候会报错。

②、其次需要使jenkins用户可以使用docker命令:

执行visudo添加如下内容:

jenkins ALL=(root)        NOPASSWD:/~/dokcer(这里是docker的安装目录)

Defaults:jenkins !requiretty

1、配置环境

参照前文将jenkins安装后并且安装所推荐的插件并且设置了账号、密码、邮箱等以后需要配置JDK、git、maven等。如果没有安装上述环境则参照前文安装相应服务。

注意:如果服务器已安装相应服务、环境时一定不要选择自动安装,否则会冲突,另外别名随意起,自己知道即可,目录一定要写对,否则后期在使用的时候会报错,如果不知道安装位置在哪可用命令查找:

[root@localhost ~]# which java
/home/env/jdk1.8.0_271/bin/java
[root@localhost ~]# which git
/usr/local/git/bin/git
[root@localhost ~]# which mvn
/home/env/apache-maven-3.8.1/bin/mvn

2、插件安装

首次登录推荐安装的插件还是不够的,还需要选择安装一部分插件:

Role-based-Authorization Strategy、Authorize Project、Maven Integration、SSH plugin、Gitlab Hook Plugin、GitLab Plugin

以下是 Docker + Jenkins + Gitlab+Harbor 自动化构建部署的详细资料: 1. Docker Docker 是一种容器化技术,可以将应用程序及其依赖项打包为一个可移植的容器,从而实现快速、一致和可靠的部署。 2. Jenkins Jenkins 是一种开源的自动化服务器,可以用于自动化构建、测试和部署软件。 3. Gitlab Gitlab 是一种基于 Git 的代码托管平台,可以管理源代码、问题和合并请求等。 4. Harbor Harbor 是一种开源的 Docker 镜像仓库,可以存储和管理 Docker 镜像。 下面是 Docker + Jenkins + Gitlab+Harbor 自动化构建部署的步骤: 1. 创建一个 Gitlab 仓库,用于存储应用程序代码。 2. 在 Jenkins 中创建一个新项目,并配置 Gitlab 的 Webhook,以便在代码推送到 Gitlab 时触发构建。 3. 在 Jenkins 中配置 Docker 插件,以便在构建完成后自动构建 Docker 镜像。 4. 在 Jenkins 中配置 Harbor 插件,以便在构建完成后自动将 Docker 镜像上传到 Harbor 镜像仓库。 5. 在 Jenkins 中配置部署脚本,以便在 Docker 镜像上传到 Harbor 后自动部署到目标服务器。 6. 在 Gitlab 中配置 CI/CD 流水线,以便在代码推送到 Gitlab 后自动触发 Jenkins 构建和部署流程。 7. 测试自动化构建部署流程,确保能够自动构建、上传和部署 Docker 镜像。 总之,Docker + Jenkins + Gitlab+Harbor 自动化构建部署可以大大提高软件开发和部署的效率,可以快速构建、测试和部署应用程序,从而实现持续集成和持续交付。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值