持续集成工具Jenkins看这篇就够啦!

2 篇文章 0 订阅
1 篇文章 0 订阅

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

一、下载

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

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

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

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

TIPS

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

三、配置

下面,我们来配置Jenkins。

3.1 全局工具配置

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

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

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'
   }
}

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

  • Preparation:在该阶段中,我们Clone源码,同时,定义了一个变量叫mvnHome。
  • Build:在该阶段中,我们执行 mvn clean install 命令,其中针对操作系统做了判断。
  • Email:如果构建成功,就发送邮件到 511932633 @ qq.com 。

3 Pipeline脚本功能非常强大,默认支持数十个指令!你可能担心指令学习的成本,但这种担心其实是多余的——只需点击下图中的 流水线语法 按钮,就可以傻瓜化地使用Pipeline语法啦

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ant Apache HttpComponents Client 4.x API Plugin Bootstrap 4 API Plugin Bootstrap 5 API bouncycastle API Branch API Build Timeout Caffeine API Plugin Checks API plugin Command Agent Launcher Plugin Conditional BuildStep Credentials Credentials Binding Plugin Display URL API Durable Task Plugin ECharts API Email Extension Plugin Folders Plugin Font Awesome API Plugin Git Git client GIT server Plugin Gitee Plugin GitHub API GitHub Branch Source GitHub plugin GitLab Plugin Gradle Plugin Infrastructure plugin for Publish Over X Jackson 2 API Java JSON Web Token (JJWT) Plugin Javadoc Plugin JavaScript GUI Lib: ACE Editor bundle plugin JavaScript GUI Lib: Handlebars bundle plugin JavaScript GUI Lib: Moment.js bundle plugin JQuery3 API Plugin JSch dependency plugin JUnit LDAP Plugin Localization Support Plugin Localization: Chinese (Simplified) Lockable Resources plugin Mailer Plugin Matrix Authorization Strategy Plugin Matrix Project Plugin Maven Integration OkHttp Plugin Oracle Java SE Development Kit Installer Plugin OWASP Markup Formatter Plugin PAM Authentication plugin Parameterized Trigger plugin Pipeline Pipeline Graph Analysis Plugin Pipeline: API Pipeline: Basic Steps Pipeline: Build Step Pipeline: Declarative Pipeline: Declarative Extension Points API Pipeline: GitHub Groovy Libraries Pipeline: Groovy Pipeline: Input Step Pipeline: Job Pipeline: Milestone Step Pipeline: Model API Pipeline: Multibranch Pipeline: Nodes and Processes Pipeline: REST API Plugin Pipeline: SCM Step Pipeline: Shared Groovy Libraries Pipeline: Stage Step Pipeline: Stage Tags Metadata Pipeline: Stage View Plugin Pipeline: Step API Pipeline: Supporting APIs Plain Credentials Plugin Plugin Utilities API Popper.js 2 API Popper.js API Plugin Publish Over SSH Resource Disposer Plugin Run Condition Plugin SCM API Plugin Script Security Plugin Snakeyaml API Plugin SSH Build Agents plugin SSH Credentials Plugin SSH plugin SSH server Structs Plugin Timestamper Token Macro Plugin Trilead API Plugin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值