Docker版本Jenkins的使用

发表于:2018-5-16 11:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:低调的微胖    来源:简书

  一. 什么是Jenkins
  Jenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。
  二. 为什么用docker版的Jenkins
  Jenkins主要有三种安装方式
  下载官方war包,放到tomcat中直接运行。
  yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins。
  使用官方docker镜像。
  本人之前也是使用yum安装的方式安装Jenkins的,不过自动用上docker后,就再也没那样安装过。不得不说直接使用docker镜像真是简单除暴无脑。
  三. 准备工作
  要使用docker镜像,首先你得先安装docker。对docker不熟悉的朋友可以参考我之前写的一篇docker安装和简单使用的教程。
  四. 寻找官方镜像
  要找docker镜像,最常规的方式是直接到Docker Hub上来找。访问Docker Hub的网站,在左上角的搜索框里输入jenkins并敲下回车。
  
Docker Hub网站
  在搜索结果中,就可以看到官方的镜像。注意,有official标志的才是官方镜像,这里不建议新手使用其他第三方提供的镜像,本文后续的讲解也是基于官方镜像。
  点击搜索结果官方镜像右边的DETAILS,进入镜像详细介绍页面。在右边你可以找到下载镜像的命令docker pull jenkins。
  
镜像详细页
  五. 启动Jenkins
  找到了官方镜像后,我们就可以开始安装了。进入安装好了docker的linux服务器,这里我们以之前教程介绍的阿里云centos7.3环境为例。
  输入命令,下载Jenkins官方镜像到服务器上。
  docker pull 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
  这里逐条解释下各参数的意义。
  -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
  
  在页面输入密码,点击Continue,进入插件安装页面。我们点击左边的Install suggested plugins,安装推荐插件就好。
  耐心等待安装完成
  
  安装好插件后,系统会提示建立管理员账户。
  
  创建管理员账户后进入系统,我们先来配置常用工具。
  
工具配置
  进入工具配置页,首先看到的就是jdk配置,这里我们先使用自动安装的java8。
  
jdk自动安装
  注意,自动安装jdk需要你填入oracle的账号密码,这样Jenkins才能自动帮你到oracle安装。如果没有oracle账号,建议先去Oracle官网注册一下。
  配置好jdk自动安装后,我们继续配置git。git的字段安装更简单,起个别名,勾上自动安装。
  
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公钥

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号