Jenkins构建Docker容器

一、流程

SVN-->Jenkins-->build image-->run container

二、步骤

1、安装Jenkins

官网下载Jenkins安装包(jenkins.war),部署到tomcat即可。

2、初始配置

初始化配置按照建议安装必要插件即可,maven的同学需安装Maven Integration plugin,此处不需要。

3、构建Docker配置

1)点击“新建”-->输入item name-->“构建一个自由风格的项目”-->“OK”

2)配置SVN,帐密可提前在Credentials中输入,然后此处选择即可;

3)构建触发条件:当代码有更新的时候触发构建;

4)构建脚本

脚本如下:(引自博客http://www.cnblogs.com/Leo_wl/p/4314792.html)

#!/bin/sh
id
set +e

echo ‘>>> Get old container id‘

CID=$(docker ps | grep "sshd" | awk ‘{print $1}‘)
echo $CID

cd /root/docker/sshd
docker build -t sshd . 

echo ‘>>> Stopping adn Remove old container‘
if [ "$CID" != "" ];then
  docker stop $CID
  docker rm $CID
fi

echo ‘>>> Starting new container‘
docker run -p 3000:80 -d --name sshd sshd

这个脚本没对未启动但已存在的容器进行判断,有需要的同学可以自己加上

docker rm `docker ps -a|grep sshd|awk ‘$NF=="sshd"{print}‘  `

5、点击保存,至此配置完毕。代码提交到svn后可触发自动构建

时间: 2024-11-07 02:05:36

Jenkins构建Docker容器的相关文章

使用Jenkins构建Docker镜像

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.并且Jenkins提供了大量的插件,能够完成各种任务. 今天我需要使用Jenkins构建一个Docker镜像,然后自动push到docker registry中.到了docker registry中,后面测试人员就可以把镜像发布到测试环境,测试如

Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBM Bluemix提供的Cent6.7,服务器地址在美国南加州 1.1 创建一个Freestyle Project, let's say jenkins-docker 1.2 Set workplace to /var/lib/jenkins/job

jenkins构建docker镜像上传到harbor并发布到kubernetes

很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有一个需求是检测harbor仓库里面是否已经存在要构建的镜像,如果存在就放弃构建,如果不存在则构建镜像并上传到harbor仓库,我这里是通过请求harbor的api来检测的. 整个过程大致分为四个步骤,画了一个简单图: 1.在jenkins上构建一个自由风格的软件项目. 2.源码管理使用git. 这里

docker系列之二:构建docker容器

1.创建在FlaskApp/app中创建Flask项目: 2.生成web项目所需的运行环境:pip3 freeze > ../requirements.txt 3.编辑Dockerfile: # 依赖的的操作系统 FROM ubuntu:16.04 # image的作者和作者邮箱 MAINTAINER oldeleven "[email protected]" # 安装项目的执行环境 RUN apt-get update -y && apt-get install

docker6 构建docker容器集群

十五.构建docker集群 让不同主机中的docker容器可以互相访问. 本章介绍几种解决方案,包括利用端口映射实现容器之间的快速互联,使用Ambassador容器解决跨主机的容器互联. 15.1 使用自定义网桥连接跨主机容器 docker默认的网桥是docker0,它只会在本机连接所有的容器. 容器的虚拟网卡在主机上看一般叫做veth*而docker0网桥把所有这些网卡桥接在一起. 可以把这个网络看成是一个私有的网络,如果要让外网连接到容器中,就需要做端口映射,即-p参数. 15.2 使用Am

从零开始使用Jenkins来构建Docker容器(Ubuntu 14.04)

当开发更新了代码,提交到Gitlab上,然后由测试人员触发Jenkins,于是一个应用的新版本就被构建了.听起来貌似很简单,duang~duang~duang,我用了是这样,你们用了也是这样,看起来这个过程很自动化,其实这里面加了很多特技,根本就没有这样的头发,不对,根本就没有这样简单的方式,其环境搭建的过程十分繁琐,jenkins的上下文关系配置更是相当困难.今天我来介绍一种简单的新方法-使用Jenkins来构建一个apache容器. 以下操作的目标:jenkins放置在宿主机内(Ubuntu

使用jenkins自动构建docker容器范例

1.登录Jenkins,新建一个自由风格的软件项目. 2.源码管理选择git,并添加Repository URL.Credentials 3.构建选择 Execute Shell,命令如下: docker stop front_dev || true; docker rm front_dev || true; docker build -t front_dev .; docker run --name front_dev -p 10080:80 -d front_dev; 这里有几个注意点: d

实战案例:构建docker容器集群 (解决方案一:使用自定义网桥连接跨主机容器)

一.实验环境虚拟机a两块网卡    eth0   eth1 (IP地址static或者dhcp)虚拟机b两块网卡    eth0   eth1 (IP地址static或者dhcp) 二.在两台虚拟机上配置网桥虚拟机a操作:apt-get install bridge-utilsvim /etc/network/interfaces auto eth0iface eth0 inet dhcp auto eth1iface eth1 inet dhcp auto br0iface br0 inet

jenkins 添加docker容器节点

启动命令 docker run -itd --name agent-alpine -v /data/app/jenkins:/data/app/jenkins 95601494dd21 /bin/sh 注 : Dockerfile run.sh hosts 同级目录   hosts是拷贝的/etc/hosts文件 Dockerfile run.sh jenkins-agent-nodejs.sh  如下 FROM hexiaoqiang/alpine:3.9 LABEL MAINTAINER="