文档章节

Jenkins手把手图文教程[基于Jenkins 2.164.1]

周立_ITMuch
 周立_ITMuch
发布于 04/04 10:41
字数 1272
阅读 54
收藏 1

本文基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本。

一、下载

前往https://jenkins.io/download/ ,按需下载。如用于生产,建议下载Long-term Support (LTS) 版本,这样能够获得相对长期的维护;如想体验最新的功能,可尝试 Weekly 版本。

可以直接下载特定系统专属的版本,也可下载 Generic Java package (.war) 。本文下载的是 Generic Java package (.war) ,这样对所有系统都通用。

二、安装

2.1 通用安装方式

安装Jenkins非常简单,只需准备一个Tomcat(笔者使用的是Tomcat 8),然后将下载下来的 jenkins.war 丢到Tomcat的 webapps 目录中,然后启动Tomcat即可。本文,Tomcat使用的端口是 18080

Tomcat下载与安装本文不做赘述,请自行百度。

2.2 Docker安装方式

使用如下命令即可:

docker run -d -v jenkins_home:/var/jenkins_home -p 18080:8080 -p 50000:50000 jenkins/jenkins:lts

2.3 初始化

Jenkins启动片刻后,访问 http://localhost:18080/jenkins ,即可看到类似如下的界面:

解锁Jenkins

由界面提示可知,Jenkins设置了一个初始的管理员密码,该密码存储在 /Users/itmuch.com/.jenkins/secrets/initialAdminPassword 文件中——只需可找到该文件,将其内容复制到图示的输入框中即可。点击 继续 按钮,将会出现类似如下的界面:

自定义Jenkins

按需选择即可,建议初学者选择 安装推荐的插件 ,因为该选项包含了Jenkins常用的一些插件,基本满足日常使用;高手则可选择 选择插件来安装 ,该选项更具灵活性。这里,笔者以 安装推荐的插件为例,点击后,将会看到类似如下的界面:

新手入门-安装插件

待插件安装完毕后(等待的时间长短视您的网络而定),将会看到类似如下的界面:

新手入门-创建管理员

Jenkins要求我们创建第一个管理员账户。填入相关信息,并点击 保存并完成 按钮,Jenkins即可初始化完成。

TIPS

安装完成后,如果访问 http://localhost:18080/jenkins 变成白板,而且没有反应,建议重启Jenkins服务器,并重新访问尝试。

三、配置

下面,我们来配置Jenkins。

3.1 全局工具配置

  1. 点击系统管理 - 全局工具配置 ,如下图:

    全局工具配置-1

  2. 将会看到类似如下图的界面。按需添加JDKGitGradleMavenDocker等配置。配置比较简单,这里就不赘述了。

    全局工具配置-2

3.2 邮件配置

  1. 点击 系统管理 - 系统设置

  2. 配置管理员邮件地址:

    邮件配置-1

  3. 邮件发送配置:

    邮件配置-2

    需要注意的是:邮件通知所使用的地址必须与管理员邮箱地址一致,否则将无法正常发送邮件!!

当然,Jenkins还有很多其他的配置选项,读者可自行在Jenkins左侧的系统管理 自行挖掘

四、使用案例1:构建项目

  1. 在Jenkins首页,点击开始创建一个新任务. ,如下图所示:

    新建任务

  2. 创建一个自由风格的项目,如下图所示:

    创建自由风格的项目

  3. 点击确定后,将会看到配置详情:

    源码管理

    如图,请设置您想构建的项目的Git仓库地址、对应的账号密码、想要构建的Git分支。一般来说,源码库浏览器选择自动即可。

  4. Maven配置

    构建

    其中Maven版本 中所选择的 maven ,就是之前在全局工具配置 一节中的Maven配置名称。

  5. 如果想设置定时构建(例如:每天晚上八点构建):

    触发器

  6. 配置构建完成后操作(以发送邮件为例)

    构建后操作

  7. 点击构建项目,执行构建

    立即构建

五、使用案例2:流水线

Jenkins 2.x 内置了强大的流水线功能。

  1. 创建一个 流水线 类型的任务

  2. 填写Pipeline脚本:

    node {
       def mvnHome
       stage('Preparation') { // for display purposes
          // clone源码
          git 'https://gitee.com/itmuch/spring-cloud-yes.git'
          // 这里的maven-3.5.0必须跟全局工具配置中设置的Maven名称一致       
          mvnHome = tool 'maven-3.5.0'
       }
       stage('Build') {
          // Run the maven build
          if (isUnix()) {
             sh "'${mvnHome}/bin/mvn' clean install"
          } else {
             bat(/"${mvnHome}\bin\mvn" clean install/)
          }
       }
       stage('Email') {
          mail bcc: '', body: '构建成功。', cc: '511932633@qq.com', from: 'eacdy0000@126.com', replyTo: '', subject: '构建成功', to: 'eacdy0000@126.com'
       }
    }
    

    如代码所示,我们编写了一个流水线,该流水线包含三个阶段:

    • Preparation:在该阶段中,我们Clone源码,同时,定义了一个变量叫mvnHome。
    • Build:在该阶段中,我们执行 mvn clean install 命令,其中针对操作系统做了判断。
    • Email:如果构建成功,就发送邮件到 511932633 @ qq.com
  3. Pipeline脚本功能非常强大,默认支持数十个指令!你可能担心指令学习的成本,但这种担心其实是多余的——只需点击下图中的 流水线语法 按钮,就可以傻瓜化地使用Pipeline语法啦

    流水线

本文首发

http://www.itmuch.com/work/jenkins-in-action/

© 著作权归作者所有

周立_ITMuch
粉丝 190
博文 111
码字总数 110927
作品 2
南京
私信 提问
jenkins 学习资料汇总

1.使用Jenkins配置自动化构建(http://blog.csdn.net/littlechang/article/details/8642149) 2.MAC上搭建Jenkins + Android + IOS自动开发部署环境(http://www.cnblogs.com/edward2013/p/5448......

IT追寻者
2016/10/08
36
0
手把手、一步一步演示教你学UG编程《精密模具编程要求》

  大家好,我是你们的莫莫,本节由莫莫手把手带大家学UG编程精密模具要求哦!   1、NC加工外观要求和精度要求      2、锁紧面NC加工外观和精度要求      3、碰穿面NC加工外观和精...

UG数控编程
2018/04/18
0
0
Selenium系列----->Selenium 脚本编写环境的搭建

脚本开发环境的搭建-JUnit *手把手SELENIUMJAVA搭建总结汇总篇:http://wenku.baidu.com/link?url=9dt8PTJiBNqt17CjjwPWk-QCUP2w6fMDjCBrCO6e-hXCBQCXwnmyzFK9ODgsPqvkgv1PtN8sQpF4pl-og33......

智能小松鼠
2015/02/17
582
0
这是一份全面 & 详细的Android多线程知识总结指南

前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 今天,我将献上一份全面 & 详细的Android多线程学习指南,希望你们喜欢。 目录 1. 多线程基础知识 在了解Android多线程实现...

Carson_Ho
06/26
0
0
Spring Boot Banner自定义,让你的应用与众不同

点击上方 IT牧场 ,选择 置顶或者星标技术干货每日送达! TIPS 本文基于Spring Boot 2.1.4,理论支持Spring Boot所有版本。 相信玩过Spring Boot的童鞋一定在启动日志中见过类似如下的内容。...

IT牧场
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

cleanLastUpdated.bat

@echo offrem create by AnXiaole rem 这里写你的仓库路径set REPOSITORY_PATH=C:\Users\AnXiaole\.m2\repositoryrem 正在搜索...for /f "delims=" %%i in ('dir /b /s "%REPO......

安小乐
26分钟前
6
0
操作放大器的用法是什么?

  有区别   1、单级放大的倍数比较有限,一般在100倍以下。放大倍数很大的话,负反馈就比较浅,对于放大倍数的稳定性不利。假如需要放大倍数更高,就不得不动用多级放大电路了。单级放大...

仙溪
29分钟前
3
0
c++ 上传文件 curl

bool uploadFile(std::string url, std::string file, std::string auth) { boost::filesystem::path p(file); CURL *curl; CURLcode res; struct curl_httppost *for......

青黑
35分钟前
3
0
冒泡与插入排序的代码实现

// 冒泡排序,a 表示数组,n 表示数组大小public void bubbleSort(int[] a, int n) { if (n <= 1) return; for (int i = 0; i < n; ++i) { // 提前退出冒泡循环的标志位 ...

无名氏的程序员
37分钟前
4
0
centos7.6 +mhvtl1.6安装

以前的mhvtl都是在centos6.x,5.x上安装的mhvtl以前版本为1.4,现在最新的1.6出来,可以安装在centos7.6上,下面是安装过程: 1.安装基础包 centos7.6只要能上外网,默认是配置了yun源的,这些...

突突突酱
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部