Jenkins 2361.2 + Maven Integration + SVN/GIT + Docker + 阿里云镜像 + Kubernetes(K8S)
本文用于学习,了解原理,和实际应用,有所差别,特别是 Post Steps 步骤中,方式很多,根据实际情况而定。
实际应用中,一般 Pipeline 流水线的方式比较多。
这边使用的SVN,Git 差不多,详见 全局工具配置
如果 Jenkins 和 Docker 同一台,页在 全局工具配置中进行 Docker 配置,本文Jenkins 和 Docker 不在同一台
因为Docker 和 Jenkins 不在同一台服务器上,配置后将来在 Maven 编译后,利用远程 Docker 服务器进行编译发布
如果配了项目,首页变了,可以按下面方式找到入口点
选择 Docker 进行添加
输入Docker服务器的 地址(服务器没有设置用户凭证,所以这边没有设置)
测试 Docker 服务器连接
Connection refused: no further information: /172.xxx.xxx.xxx:2370
[root@localhost ~]# vi /usr/lib/systemd/system/docker.service
#修改
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2370
#防火墙开放端口
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=2370/tcp
[root@localhost ~]# firewall-cmd --reload
#重新加载配置文件
[root@localhost ~]# systemctl daemon-reload
#重启服务
[root@localhost ~]# systemctl restart docker.service
#查看端口是否开启
[root@localhost ~]# netstat -nlpt
#直接curl看是否生效
[root@localhost ~]# curl http://127.0.0.1:2370/info
添加 SVN 用户凭证(可在描述中添加说明,方便后期选择)
选择 SVN 用户凭证
跳过单元测试
clean package -Dmaven.test.skip=true
运行构建
查看控制台日志
在 Post Step 中,选择 Build/Publish Doker Image
${WORKSPACE}
保存后构建
安装完 SSH 插件后,在Dashboard -> Manage Jenkins -> Configure System 中可以进行 ** SSH remote hosts** 配置
kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:3.1
目前:阿里云上是 3.0,K8S 服务器中使用的是 1.0,接下来构建 3.1
kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:3.1