docker下的Jenkins安装和体验【转】

原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408java

做为一款优秀的持续集成工具,jenkins在平常的项目中常常会用到,本次实战咱们在docker下快速搭建一个Jenkins服务,并体验其项目构建能力;python

实战环境

windows、mac、linux等系统,只要装了docker服务均可以做为实战环境,我用的是ubuntu16,安装的docker版本是:17.03.2-ce;linux

准备文件映射路径

jenkins的容器启动后,重要的文件咱们但愿能保存在当前电脑,不然容器被损坏或者删除后就找不回这些文件了,所以要在当前电脑上准备一个目录做为文件映射,注意文件夹权限问题,我这边准备的本机目录是/usr/local/work/jenkins,而且执行了chmod 777 /usr/local/work/jenkins以确保docker进程有权限读写此目录;git

启动容器

  • 在控制台执行如下命令,docker会去hub.docker.com下载最新的jenkins官方镜像,而后启动一个名为j01的容器,而且将容器的8080和50000端口直接映射到本机的8080和50000端口:
docker run -p 8080:8080 -p 50000:50000 -v /usr/local/work/jenkins:/var/jenkins_home --name j01 -idt jenkins

 

  • 执行命令docker logs -f j01查看容器的控制台日志,看到以下信息表示jenkins服务启动成功:
Dec 31, 2017 6:29:24 AM jenkins.install.SetupWizard init
INFO: 

************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: f0f2e35d549f49b486b0ca2bdf3756d6 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* Dec 31, 2017 6:29:29 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller Dec 31, 2017 6:29:30 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.WebAppMain$3 run INFO: Jenkins is fully up and running --> setting agent port for jnlp --> setting agent port for jnlp... done Dec 31, 2017 6:29:33 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tools.JDKInstaller Dec 31, 2017 6:29:33 AM hudson.model.AsyncPeriodicWork$1 run INFO: Finished Download metadata. 11,856 ms

 

访问服务

  • 个人LINUX电脑IP是192.168.119.155,在浏览器输入http://192.168.119.155:8080,便可访问到jenkins的服务,因为密码尚未设置,将会看到下图信息: 
    这里写图片描述
    github

  • 页面提示密码文件的位置:/var/jenkins_home/secrets/initialAdminPassword,因为咱们已经将/var/jenkins_home目录映射到本机的/usr/local/work/jenkins目录,因此密码文件在当前电脑的位置是:/usr/local/work/jenkins/secrets/initialAdminPassword;web

  • 打开此文件后发现只有一行内容,复制后粘贴到页面惟一的输入框中,再点击右下角的”Continue”按钮;spring

  • 在等待页面停留数十秒后,出现如下页面,左边按钮是直接安装推荐的插件配置,右边按钮是本身选择所需的插件,这里咱们点击左边按钮,把推荐的插件装了: 
    这里写图片描述
    docker

  • 以下图,jenkins开始逐个安装插件: 
    这里写图片描述
    shell

  • 以下图,提示建立一个管理员,填写完相关信息并提交,就能够使用jenkins服务了: 
    这里写图片描述
    ubuntu

安装maven

点击“系统管理” -> “Global Tool Configuration”,以下图: 
这里写图片描述

新建一个maven,填写完毕后点击底部的”Apply”再点击“保存”,记得勾选“自动安装”,以下图: 
这里写图片描述

安装mave插件

点击“系统管理” -> 管理插件”,以下图: 
这里写图片描述

选中第二个tab”可选插件”,在右上角输入框中输入“Maven Integration plugin”,页面上就会显示出”Maven Integration plugin”这个插件,勾选后点击下面的“直接安装”按钮,便可安装maven插件,以下图: 
这里写图片描述

配置SSH登陆github

后面的实战中,咱们会将代码放到github上,因此此处要作ssh登陆的配置,假设您在git上的注册邮箱是”abcdef@gmail.com”,帐号是”abcdef”,您须要执行如下步骤:

  • 在控制台执行如下命令登陆到jenkins容器:
docker exec -it j01 /bin/bash

 

  • 登陆到容器后,执行如下命令产生SSH证书:
ssh-keygen -t rsa -C "abcdef@gmail.com"

 

会出现几个询问,直接按回车键继续;

  • 执行如下命令配置全局用户信息的帐号:
git config --global user.name "abcdef"

 

  • 执行如下命令配置全局用户信息的邮箱:
git config --global user.email abcdef@gmail.com

 

  • 公钥被存储到如下位置,打开复制全部内容,而后登陆git,添加到SSH keys中:
/var/jenkins_home/.ssh/id_rsa.pub

 

至此,git配置就完成了,接下来咱们建立一个任务,来试试项目项目构建的功能;

git项目

为了体验jenkins自动拉取代码和构建项目,我在git上准备了一个spring boot的web工程,内容很简单只有一个controller,地址是:git@github.com:zq2599/jenkinsdemo.git

构建maven项目

回到主页,新建一个任务,选择”构建一个maven项目”,以下图:

这里写图片描述

新的页面中,“源码管理”位置选择”Git”,在”Repository URL”位置输入工程地址”git@github.com:zq2599/jenkinsdemo.git”,再点击“Add”按钮,选择”Jenkins”,以下图:

这里写图片描述

在弹出的页面中输入git登陆的信息,注意选择SSH登陆,用户名要用生成SSK KEY的时候的参数,以下图: 
这里写图片描述

配置完成后,依次点击最下面的”Apply”和”保存”两个按钮,完成存档并退出编辑页面;

构建

以下图红框所示,在任务列表页面,点击任务名称,进入任务详情页: 
这里写图片描述

在任务详情页,以下图红框所示,点击“当即构建”: 
这里写图片描述

此时项目就开始构建了,若是想看清楚具体的执行状况,能够点击下图中的红框位置,会跳转到控制台信息输出的页面: 
这里写图片描述

若是git配置正确,而且web工程自己能够编译成功,那么会看到控制台页面提示的构建成功信息,以下图: 
这里写图片描述

验证构建结果

为了验证构建结果,咱们能够去把编译jar包下载下载试试,下载地址以下图所示: 
这里写图片描述

点击target文件夹后,能够看到构建好的文件:mavendockerplugindemo-0.0.1-SNAPSHOT.jar,点击这个文件便可经过浏览器下载到本地;

本地打开控制台,进入mavendockerplugindemo-0.0.1-SNAPSHOT.jar文件所在的目录,执行如下命令便可启动这个spring boot的web工程,端口号为8081:

java -jar mavendockerplugindemo-0.0.1-SNAPSHOT.jar --server.port=8081
  • 1

能够看到熟悉的springboot启动信息,以下图: 
这里写图片描述

在浏览器输入:localhost:8081,能够正常访问此web服务,以下图:

这里写图片描述

至此,基本的Jenkins服务搭建和使用的实战都完成了,后面的章节中,咱们一块儿继续实战Jenkins更丰富的功能;

相关文章
相关标签/搜索