CICD_Dokcer+Jekins+Gitee自动构建2

.NET 微服务——CI/CD(2):自动打包镜像

一:开启docker的tcp端口

使用场景:默认安装的Docker服务不支持远程连接,开启TCP端口后可以进行远程连接Docker

查看当前系统的版本信息:

[root@iZuf6791hnyg64kq88b0faZ ~]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.9.2009 (Core)
Release:	7.9.2009
Codename:	Core

编辑文件

$ vi /lib/systemd/system/docker.service

修改文件ExecStart。添加端口(2376)代码如下:

-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock

CICD_Dokcer+Jekins+Gitee自动构建2

然后重载服务列表,重启docker,语句:

#1.重新加载系统服务配置文件(包含刚刚修改的文件)
systemctl daemon-reload

#2.重启docker服务
systemctl restart docker
#3.查看端口是否被docker监听
[root@iZuf6791hnyg64kq88b0faZ ~]# ss -tnl | grep 2376
LISTEN     0      128       [::]:2376                  [::]:*                  
---可以不测
#4.查看防火墙是否开放2376端口
[root@iZuf6791hnyg64kq88b0faZ ~]# firewall-cmd --zone=public --query-port=2376/tcp
FirewallD is not running

#5.防火墙添加开放2376端口
firewall-cmd --zone=public --add-port=2376/tcp --permanent

#6.重启防火墙
firewall-cmd --reload

#7.在Windows系统上测试端口是否可以使用
telnet 139.196.240.143 2376

tcp://139.196.240.143:2376

#8.开启防火墙
systemctl start firewalld

#9.关闭防火墙
systemctl stop firewalld

#10.查看防火墙状态(dead 关闭/running 运行)
systemctl status firewalld

二、Jenkins安装Docker插件

CICD_Dokcer+Jekins+Gitee自动构建2

只需选择这一个,关联的Docker API、Docker Commons会自动下载。

CICD_Dokcer+Jekins+Gitee自动构建2

配置Docker

打开系统管理→系统配置,翻到最下面,进入单独设置页面:

CICD_Dokcer+Jekins+Gitee自动构建2

在页面新增docker:name随意,地址要注意tcp不是http,最后注意勾选enabled。页面有个测试按钮,填好信息点它,测试通过会打印docker和docker api的版本:

CICD_Dokcer+Jekins+Gitee自动构建2

如果测试通不过。

  1. Connection timed out: /139.196.240.143:2376

    需要开启服务器的防火墙

  2. No route host

    docker容器ping失败
    ping: bad address 'www.baidu.com'

​ 解决办法:重启docker
​ service docker restart

配置工作流

修改之前创建的工作流,进入配置页,找到构建这一项,添加构建步骤:

CICD_Dokcer+Jekins+Gitee自动构建2

在新窗口填写dockerfile的路径、打包以后的镜像名称,以及选择刚才配置好的docker cloud:

CICD_Dokcer+Jekins+Gitee自动构建2

填好以后保存,节省时间,手动触发测试一下(通过git提交触发一样):

CICD_Dokcer+Jekins+Gitee自动构建2

等待构建结束,在服务器中查看刚才自动构建的镜像:

上一篇:带你认识CICD


下一篇:企业CICD规模化落地浅析