原文地址: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启动参数。

#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

9、配置完成后,点击立即构建。

10、点击Console Output可以查看构建日志。如果最后提示SUCCESS,则表示构建成功。(这里日志太长,只截取了一半)

Jenkins集成Docker实现镜像构建和线上发布的更多相关文章

  1. Jenkins集成Docker镜像实现自动发布

    1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...

  2. Docker 创建镜像、修改、上传镜像

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...

  3. Jenkins集成Docker

    大概过程如下图: 由于需要用到docker打包镜像,jenkins宿主机上需要安装docker,原先的jenkins server安装在centos6上无法运行docker,所以这里单独用一台cent ...

  4. 如何利用docker 构建golang线上部署环境

    公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜 ...

  5. 8.云原生之Docker容器镜像构建最佳实践浅析

    转载自:https://www.bilibili.com/read/cv15220861/?from=readlist 本章目录 0x02 Docker 镜像构建最佳实践浅析 1.Dockerfile ...

  6. Docker + node(koa) + nginx + mysql 线上环境部署

    在上一篇 Docker + node(koa) + nginx + mysql 开发环境搭建,我们进行了本地开发环境搭建 现在我们就来开始线上环境部署 如果本地环境搭建没有什么问题,那么线上部署的配置 ...

  7. 第一个 spring Boot 应用通过Docker 来实现构建、运行、发布

    1. Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙 ...

  8. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  9. jenkins+git+docker实验环境的搭建

    持续集成(c/i)的实验环境 git/harbor服务器    ip 192.168.200.132 docker服务器          ip 192.168.200.149 Jenkins服务器 ...

随机推荐

  1. bisect二分查找模块使用

    import bisectL = [1, 3, 3, 6, 8, 12, 15]x = 5x_insert_point = bisect.bisect_left(L, x)# 在L中查找x,x存在时返 ...

  2. HDU 1754.I Hate It-结构体版线段树(单点更新+区间查询最值)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  3. CF 862A Mahmoud and Ehab and the MEX【数组操作】

    A. Mahmoud and Ehab and the MEX time limit per test 2 seconds memory limit per test 256 megabytes in ...

  4. Hash算法详解

    这篇不错: https://blog.csdn.net/u014209205/article/details/80820263

  5. 51nod 更难的矩阵取数问题(动态规划)

    更难的矩阵取数问题 给定一个m行n列的矩阵,矩阵每个元素是一个正整数,你现在 在左上角(第一行第一列),你需要走到右下角(第m行,第n列),每次只能朝右或者下走到相邻的位置,不能走出矩阵.然后再从右下 ...

  6. Oracle的锁

    Oracle数据库中的锁机制 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数 ...

  7. 【博弈论】【SG函数】bzoj1457 棋盘游戏

    一开始就必胜的特判一下. #include<cstdio> #include<cstring> #include<set> #include<algorith ...

  8. Python 升级3.6

    首先:更新gcc,因为gcc版本太老会导致新版本python包编译不成功代码如下:#yum -y install gcc 然后下载python源tar包 可利用linux自带下载工具wget下载,如下 ...

  9. SQLite 使用技巧

    http://blog.csdn.net/beifengdelei/article/details/7166056 SQLite自增ID自段使用方法为 INTEGER PRIMARY KEY AUTO ...

  10. Chrome DevTools 代码覆盖率功能详解

    共 1812 字,读完需 3 分钟.工欲善其事必先利其器,前端周刊本周起每周会加餐 1 篇工具技巧,里面辅以动图,让大家看完就能学会,并上手使用.本文会介绍 Chrome Canary 新增的代码覆盖 ...