[部署] Docker-Jenkins安装部署

目标:

通过docker部署运行jenkins环境。并对maven项目进行自动化测试、打包和持续部署。

过程如下:

1,准备docker环境

(我的操作环境是centos7,CentOS下安装docker环境见我另外一篇文章)

# docker -v
  Docker version 1.13.1

附:查看centos的版本命令

# cat /etc/os-release

2,下载Jenkins的docker镜像,并运行

docker pull docker.io/jenkins/jenkins:latest
  1. 为Jenkins建立挂载目录并未目录授权,我这里的目录为 /docker/data/jenkins/
mkdir -r /docker/data/jenkins/
sudo chown -R 1000:1000 /docker/data/jenkins/
  1. 拉取 jenkins镜像并构建容器(这里用的是jenkins当前最新的2.x版本)
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true  -v /docker/data/jenkins:/var/jenkins_home docker.io/jenkins/jenkins:latest
docker ps

参数说明:
-p 8080:8080 -p 50000:50000是开发的访问端口
--name jenkins 是容器名
--privileged=true 是提供挂载目录的管理权限(centos默认不提供)
-v /docker/data/jenkins:/var/jenkins_home 是目录挂载
成功构建后docker ps会显示容器

3,初始化Jenkins配置

1)浏览器打开http://ip:8080进行初始化

2)在Administrator password环境,通过运行docker命令查看

sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

在插件初始化时选左侧经典就好了。

3)在“系统管理”-“管理插件”添加插件“Deploy to container”用于部署编译后的程序到tomcat

4)在“系统管理”-“Global Tool Configuration”中添加JDK工具和maven工具


添加jdk

需要注意的是要设置登录oracle网站的账号密码


添加maven

这2个工具都会在首次进行项目构建的时候自动下载。

4,添加项目配置

回到主页,进行项目添加,选择“构建一个自由风格的软件项目”。
1)General区设置项目名字、描述信息

2)源码管理区设置git或svn的配置,这里我用到的是svn
设置Repository URL为项目在服务器上的路径
设置Credentials为账号密码
Local module directory和Repository depth保持不变。


svn配置

3)设置“构建”选择“Invoke top-level Maven targets”在Goals中填写 package
用maven的package来打包项目生成war包

maven配置

4)设置“构建后操作”选择 Deploy war/ear to a container 在WaR/EAR files 中填写 target/<包名>.war
这里面的包名生成结构是pom.xml中配置的artifactId标签值和 version标签值的组合: artifactId-version.war
不确定的话可以在项目上先后建一下确定war的名字
在“ Containers”中添加一个Container,这里我选择的是tomcat9.需要设置tomcat的的运行地址以及管理员账号密码


tomcat配置

注:因为采用的是tomcat的热部署
所以tomcat必须先配置tomcat-users.xml提供manager-script角色。
附:tomcat-users.xml的配置

  <role rolename="manager-script"/>
  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,manager-script"/>

5,运行构建

执行项目构建后,可以在构建的ConsoleOutput中查看控制台输出的日志。首次构建会看到对jdk和maven环境的下载和安装


JDK下载

6,配置自动化持续构建

自动化构建

Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定的时候触发项目;

Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
H/5 * * * * (每5分钟检查一次源码变化)

Build periodically:周期进行项目构建(它不关心源码是否发生变化),如下图配置:
H 2 * * * (每天2:00 必须build一次源码)

在 Schedule 中填写 0 * * * *。
第一个参数代表的是分钟 minute,取值 0~59;
第二个参数代表的是小时 hour,取值 0~23;
第三个参数代表的是天 day,取值 1~31;
第四个参数代表的是月 month,取值 1~12;
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

注意

如果maven不能自动安装需要官方手动下载tar.gz到卷目录,并进入容器内进行解压,另在系统管理-全局共计配置-提供maven的 全局和默认 settings 配置、maven的name和MAVEN_HOME配置
最后在项目构建配置中选中对应的name


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容