Jenkins集成Docker实现镜像构建和线上发布
2017-09-06 16:57
1081 查看
原文地址:http://www.cnblogs.com/keithtt/p/6410229.html
由于需要用到docker打包镜像,jenkins宿主机上需要安装docker,原先的jenkins server安装在centos6上无法运行docker,所以这里单独用一台centos7安装一个jenkins server。
jenkins的安装方法有多种:
1、下载jar包,直接通过java运行。
2、用tomcat作为容器运行。
3、通过yum安装。
4、通过docker运行。
安装过程都很简单,这里就不详细说明了。
1、安装插件。打开jenkins页面,安装CloudBees Docker Build and Publish plugin和Publish Over SSH Plugin插件。
2、新建一个项目。
3、配置项目。
4、填写项目名称。jenkins的工作空间与这里的项目名称对应,默认在/var/lib/jenkins/workspace下。
5、拉取代码。填写项目地址和需要拉取的分支,这里用了一个Additional Behabiours,拉取代码会自动创建一个目录并将代码放在该目录下。
6、build镜像,并将镜像push到harbor镜像库。填写相应的docker、dockerfile以及镜像库地址信息。
这里需要设置docker启动参数。
7、通过脚本发布到k8s。这里需要设置SSH互信(具体过程略..)。
8、在k8s master上编写发布脚本。
9、配置完成后,点击立即构建。
10、点击Console Output可以查看构建日志。如果最后提示SUCCESS,则表示构建成功。(这里日志太长,只截取了一半)
大概过程如下图:
由于需要用到docker打包镜像,jenkins宿主机上需要安装docker,原先的jenkins server安装在centos6上无法运行docker,所以这里单独用一台centos7安装一个jenkins server。
jenkins的安装方法有多种:
1、下载jar包,直接通过java运行。
2、用tomcat作为容器运行。
3、通过yum安装。
4、通过docker运行。
安装过程都很简单,这里就不详细说明了。
1、安装插件。打开jenkins页面,安装CloudBees Docker Build and Publish plugin和Publish Over SSH Plugin插件。
2、新建一个项目。
3、配置项目。
4、填写项目名称。jenkins的工作空间与这里的项目名称对应,默认在/var/lib/jenkins/workspace下。
5、拉取代码。填写项目地址和需要拉取的分支,这里用了一个Additional Behabiours,拉取代码会自动创建一个目录并将代码放在该目录下。
6、build镜像,并将镜像push到harbor镜像库。填写相应的docker、dockerfile以及镜像库地址信息。
这里需要设置docker启动参数。
#vim /etc/sysconfig/docker OPTIONS='--insecure-registry 172.60.0.107 -H 0.0.0.0:2375 -H unix:///var/run/docker.sock' #systemctl restart docker |
7、通过脚本发布到k8s。这里需要设置SSH互信(具体过程略..)。
8、在k8s master上编写发布脚本。
#vim stg-che001-56-waybill.sh #!/bin/bash #update the version number sed -ri "s@(image.*v).*@\1${BUILD_NUMBER}@" /root/che001-56-stg/che001-56-waybill.yaml #Apply the configuration change kubectl delete -f /root/che001-56-stg/che001-56-waybill.yaml && kubectl create -f /root/che001-56-stg/che001-56-waybill.yaml |
10、点击Console Output可以查看构建日志。如果最后提示SUCCESS,则表示构建成功。(这里日志太长,只截取了一半)
相关文章推荐
- Jenkins集成Docker镜像实现自动发布
- jenkins构建docker镜像上传到harbor并发布到kubernetes
- Docker+Jenkins持续集成环境(5): android构建与apk发布
- 持续集成:docker下使用jenkins容器构建docker镜像
- jenkins 自动构建docker 推送镜像发布镜像
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)
- 持续集成之jenkins实践教程:基础篇(6): 在jenkins的容器中进行镜像的构建
- 集成安装6 jenkins构建发布 soa服务 和 web项目
- Docker多阶段镜像构建的实现
- spring Boot 应用通过Docker 来实现构建、运行、发布流程
- 3 使用 Dockerfile 实现 自动化构建(创建) 镜像
- Docker:使用Jenkins构建Docker镜像
- Jenkins在Kubernetes中构建Docker镜像并推送至Registry
- 持续集成--使用dockerfile构建docker镜像
- jenkins构建Docker 镜像实例详解
- Docker构建tomcat镜像并发布web应用
- jenkins构建Docker 镜像(基于Jenkins的Docker镜像及Jenkins插件)
- Jenkins自动构建发布镜像脚本
- Jenkins+docker实现应用发布