Docker版本Jenkins的使用

一. 什么是Jenkins

Jenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。

二. 为什么用docker版的Jenkins

Jenkins主要有三种安装方式

  1. 下载官方war包,放到tomcat中直接运行。
  2. yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins
  3. 使用官方docker镜像。

本人之前也是使用yum安装的方式安装Jenkins的,不过自动用上docker后,就再也没那样安装过。不得不说直接使用docker镜像真是简单除暴无脑。

三. 准备工作

要使用docker镜像,首先你得先安装docker。对docker不熟悉的朋友可以参考我之前写的一篇docker安装和简单使用的教程。

四. 寻找官方镜像

我们可以到Jenkins官网上寻找docker镜像地址。

Jenkins官网

点击docker按钮,自动跳转到dockerhub,在这里可以找到下载命令

Docker Hub网站

五. 启动Jenkins

找到了官方镜像后,我们就可以开始安装了。进入安装好了docker的linux服务器,这里我们以之前教程介绍的阿里云centos7.3环境为例。

输入命令,下载Jenkins官方镜像到服务器上。

docker pull jenkins/jenkins
下载镜像

耐心等待下载完成,输入命令查看下载完成的镜像

docker images
镜像下载完成

镜像下载完成,下面就要开始启动容器了。启动容器前,建议大家仔细阅读前面寻找镜像时Docker Hub上关于jenkins镜像的详细说明

在镜像文档里,我们知道Jenkins访问的端口号是8080,另外还需要暴露一个tcp的端口号50000。我们使用如下命令启动Jenkins镜像。

docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins

这里逐条解释下各参数的意义。

  • -d 后台运行镜像
  • -p 80:8080 将镜像的8080端口映射到服务器的80端口
  • -p 50000:50000 将镜像的50000端口映射到服务器的50000端口
  • -v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。
  • -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
  • --name jenkins 给容器起一个别名

启动后输入命令docker ps -a查看所有容器,可以看到jenkins已成功启动。

启动成功

六. 配置Jenkins

在浏览器输入http://ip进入Jenkins登录页面。页面会提示你到服务器的指定位置获取初始化密码。

输入启动密码

注意,因为我们是docker版的jenkins,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码。

docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
image.png

在页面输入密码,点击Continue,进入插件安装页面。我们点击左边的Install suggested plugins,安装推荐插件就好。

image.png

耐心等待安装完成


image.png

安装好插件后,系统会提示建立管理员账户。


image.png

创建管理员账户后进入系统,我们先来配置常用工具。

工具配置

进入工具配置页,首先看到的就是jdk配置,这里我们先使用自动安装的java8

jdk自动安装

注意,自动安装jdk需要你填入oracle的账号密码,这样Jenkins才能自动帮你到oracle安装。如果没有oracle账号,建议先去Oracle官网注册一下。

配置好jdk自动安装后,我们继续配置gitgit的字段安装更简单,起个别名,勾上自动安装

git自动安装

配置好git我们继续配置Gradle,一样简单,起个别名,勾上自动安装,选择Gradle的版本。

gradle自动安装

至此,jenkins就安装配置完成了。关于具体如何使用jenkins进行自动发布,可以参考本人另一篇文章linux服务器中Jenkins集成git、Gradle持续构建Springboot项目

七. 生成SSHKey

这里再补充一章说明如何生成SSHKey。容器从github上面下载代码的时候需要用到。因为咱们这个Jenkins是基于docker的,不是直接安装在服务器上,这里有很大的不同。

要生成容器的SSHKey,首先要先进入容器

docker exec -it jenkins /bin/bash

进入容器后生成sshkey

ssh-keygen -t rsa -C "123@qq.com"
生成sshkey

在容器内输入exit离开容器,使用如下命令获取公钥

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

推荐阅读更多精彩内容