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

2020/4/10 17:01:24

本文主要是介绍jenkins如何打包并部署镜像到rancher,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

一.安装插件

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

二.添加rancher构建

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

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

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

三.配置rancher信息

API Endpoint 在rancher这里可以找到

rancher API Key :

username为第一步获取的Access Key

password为第一步获取的Secret Key

id和Description不重要可以随意填

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

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

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

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

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

四.验证部署是否成功

查看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协议就可以





这篇关于jenkins如何打包并部署镜像到rancher的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程