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

一、下载

前往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安装方式

使用如下命令即可:

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

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

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

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

TIPS

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

三、配置

下面,我们来配置Jenkins。

3.1 全局工具配置

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

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

3.2 邮件配置

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

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

  3. 邮件发送配置:

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

当然,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'
}
}
  1. 如代码所示,我们编写了一个流水线,该流水线包含三个阶段:

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

Jenkins手把手图文教程[基于Jenkins 2.164.1]的更多相关文章

  1. Spring Boot 2发送邮件手把手图文教程

    原文:http://www.itmuch.com/spring-boot/send-email/ 本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有 ...

  2. 【运维技术】Jenkins配置使用教程

    Jenkins配置使用教程 单机jenkins启动 软件安装和启动,必须含有java环境 # 安装jdk,参考其他教程,创建文件目录 mkdir -p /app/jenkins cd /app/jen ...

  3. 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境

    庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...

  4. Windows安装Jenkins详细教程(图文教程)

    一.安装前准备 1.提前安装好jdk,可参考以下链接进行安装 Windows安装JDK详细教程(图文教程) 2.Jenkins官网下载安装包(因为本人jdk安装的是1.8,所以会和最新版jenkins ...

  5. jenkins+windows+springboot+.net项目自动化部署图文教程

    之前一直在linux中使用jenkins部署程序,正好现在的项目包括了winfrom程序,所以需要部署到windows系统中 jenkins官网:https://jenkins.io/ 下载之后运行j ...

  6. 构建基于Jenkins + Github的持续集成环境

    搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...

  7. 手把手教你用Jenkins自动发布dotnet core程序

    Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么 ...

  8. Jenkins入门教程(一):Windos下Jenkins的安装教程

    Jenkins的安装教程 Jenkins安装前的准备 1.安装jenkins前首先确保你的电脑已经安装了JDK,由于jenkins是基于java开发的 JDK下载地址 2.下载jenkins的安装包 ...

  9. .net项目在linux平台的CI流程(基于Jenkins+mono+jexus)

    内容较多,主要分为以下4方面内容: Jenkins的安装部署(centos 7+) .net在linux平台CI流程所需的插件管理&配置 Jenkins配置连接Gitlab(也可使用对应插件连 ...

随机推荐

  1. POJ 2342 Anniversary party 树形DP基础题

    题目链接:http://poj.org/problem?id=2342 题目大意:在一个公司中,每个职员有一个快乐值ai,现在要开一个party,邀请了一个员工就不可能邀请其直属上司,同理邀请了一个人 ...

  2. Shell脚本互斥设置

    参考:https://blog.csdn.net/hanjiezz/article/details/79571703 shell脚本为了防止同时执行相同的脚本需要设置互斥锁 简单方法,脚本执行开始生成 ...

  3. Java基础教程:多线程基础——线程池

    Java基础教程:多线程基础——线程池 线程池 在正常负载的情况瞎,通过为每一个请求创建一个新的线程来提供服务,从而实现更高的响应性. new Thread(runnable).start() 在生产 ...

  4. virtualbox 安装扩展包 VirtualBox Extension Pack

    比如你下载的:Oracle_VM_VirtualBox_Extension_Pack-6.0.8.vbox-extpack ,双击安装没有反应. 可以在 VirtualBox 主菜单 管理-全局设定- ...

  5. SpringBoot RequestBody ajax提交对象

    前端实现: var student = { "name":1, "age":2, "score":3 }; $.ajax({ url:&qu ...

  6. 使用静态方法CreateInstance()创建数组

    Array类是一个抽象类,所以不能使用构造函数来创建数组.但除了可以使用C#语法创建数组的实例之外,还可以使用静态方法CreateInstance()创建数组. 如果事先不知道元素的类型,该静态方法就 ...

  7. Duration和Period的区别--通俗易懂

    在jdk1.8以后,对表示日期时间的类型进行了重新分类,这里出现了2个新的类,Duraction 和Period Duraction表示:时间的区间,用来度量秒和纳秒之间的时间值 Period表示:一 ...

  8. 【转帖】K8S Deployment 命令

    K8S Deployment 命令 https://www.cnblogs.com/Tempted/p/7831604.html 今天学习了一下 kubectl scale deployment xx ...

  9. linux环境下编写shell脚本实现启动停止tomcat服务

    第一步:以管理员的身份进入控制台,在指定目录下新建一个shell脚本,我这里命名为tomcat.sh 第二步:编写shell脚本 #!/bin/bash tomcat_home=/usr/tomcat ...

  10. 是否应该学习qt源码(碰到问题的时候,或者文档对函数描述不清楚的时候,可以看一下)

    是否应该学习qt源码 如果你想调用某个函数,但是文档并没有清晰描述这个函数的功能的时候,你就需要去阅读源码,看看Qt究竟是怎么实现的.比如用QNetworkAccessManager发送一个QHttp ...