转载

jenkins如何打包并部署镜像到rancher

这篇文章我将带领大家进入一家新的领域,如何利用jenkins发布镜像到rancher里面

一.安装插件

登陆jenkins在插件管理器里搜索rancher安装rancher插件

jenkins如何打包并部署镜像到rancher

二.添加rancher构建

jenkins如何打包并部署镜像到rancher

这里其实我们也可以通过如下命令直接推送到镜像服务上。

mvn clean package docker:build -DpushImage复制代码

但是考虑的网络较慢,我们直接使用插件,内部直接访问rancher 会快很多

三.配置rancher信息

jenkins如何打包并部署镜像到rancher

API Endpoint 在rancher这里可以找到

jenkins如何打包并部署镜像到rancher

rancher API Key :

jenkins如何打包并部署镜像到rancher

username为第一步获取的Access Key

password为第一步获取的Secret Key

id和Description不重要可以随意填

Rancher Environment Id:环境id,可以在rancher管理界面环境管理中获取

jenkins如何打包并部署镜像到rancher

Service Name:格式为基础设施名称/服务名称,下图就是基础设施名称

jenkins如何打包并部署镜像到rancher

点击进去就是各个服务名称

Docker Image:容器名称,可以使用jenkins变量做动态构建

至此,jenkins上构建完就可以调用rancher api进行容器发布和升级。

四.验证部署是否成功

查看jenkins控制台日志

jenkins如何打包并部署镜像到rancher

登陆rancher 查看服务日志顺利升级完成

jenkins如何打包并部署镜像到rancher

五.备注问题列表

问题一:

maven 安装不上docker插件,运行 提示:docker:bulid时No plugin found for prefix 'docker'

解决方案:

原因是maven不能识别 docker-maven-plugin 需要再setting.xml 的pluginGroups标签处中加上

<pluginGroup>com.spotify</pluginGroup>复制代码

如下,reimport就可以了

<pluginGroups>            <pluginGroup>com.spotify</pluginGroup>        </pluginGroups>复制代码

我的pom.xml引入docker插件的地方如下:

<groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</version>复制代码

问题二:

o {}->unix://localhost:80: No such file or directory

Apr 06, 2020 11:07:51 AM org.apache.http.impl.execchain.RetryExec execute

解决方案:

1. 打开docker的远程api访问(参考:https://blog.csdn.net/csde12/article/details/70240721)

sudo vi /etc/systemd/system/docker.serviceExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock复制代码

2. 重启守护进程

sudo systemctl daemon-reload    sudo systemctl restart docker复制代码

3. Jenkins的全局变量中增加DOCKER_HOST=tcp://localhost:2375

问题三

org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {}->tcp://192.168.218.24:2375: tcp protocol is not suppo…

解决方案:

<dockerHost>${docker.repository.host}</dockerHost>复制代码

tcp改成http协议就可以

原文  https://juejin.im/post/5e8fe742e51d4546ce27c4f7
正文到此结束
Loading...