Jenkins 基础知识大补

Jenkins一个Java开源项目

  • 部署和运行需要安装Java 8以上环境。
  • 作为一个CI持续集成服务器,Jenkins可以从版本控制系统自动拉取最新的代码,构建和进行测试,并将过程信息通知到开发人员。

项目源代码修改的检测,jenkins能够从项目的Subversion/CVS生成最近修改的集合列表,且不会增加Subversion/CVS Repository的负载。

具体可以做什么:

  • 持续的软件版本发布/测试项目。
  • 监控外部调用执行的工作。

Jenkins下载并运行

docker安装(另一篇文章分享)

  • 下载 Jenkins,打开终端进入到下载目录.
  • 运行命令 java -jar jenkins.war --httpPort=8080.
  • 打开浏览器进入链接 http://localhost:8080.

开始使用 Jenkins!

Jenkins Pipeline

  • 是一套插件,将持续交付的实现和实施集成到 Jenkins 中。
  • 一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。
  • 被写入到一个文本文件Jenkinsfile 中,该文件可以被放入项目的源代码控制库中。


Jenkinsfile 示例

Pipelines 由多个步骤组成,允许你构建、测试和部署应用。 Jenkins Pipeline 允许您使用一种简单的方式组合多个步骤, 以帮助您实现多种类型的自动化构建过程。

可以把“步骤step”看作一个执行单一动作的单一的命令。 当一个步骤运行成功时继续运行下一个步骤。 当任何一个步骤执行失败时,Pipeline 的执行结果也为失败。

当所有的步骤都执行完成并且为成功时,Pipeline 的执行结果为成功

  • 文件命名为 Jenkinsfile

Jenkinsfile (Declarative Pipeline)

pipeline {

agent { docker 'maven:3.3.3' }

stages {

stage('build') {

steps {

sh 'mvn --version'

sh 'echo "Hello World"'

}}}


Jenkins 基础知识大补


  • 单击Jenkins中的 New Item 菜单
  • 新工程命名,选择 Multibranch Pipeline
  • 单击 Add Source 按钮,选择您想要使用的仓库类型并填写详细信息.
  • 单击 Save 按钮,Pipeline运行

修改 Jenkinsfile 以便应用在您自己的项目中。尝试修改 sh 命令,使其与您本地运行的命令相同。

在配置好 Pipeline 之后,Jenkins 会自动检测您仓库中创建的任何新的分支或合并请求。

Jenkins 部署方式

  • Jenkins触发式构建:用于开发环境部署,开发人员push代码或者合并代码到gitlab项目的master分支,jenkins就部署代码到对应服务器。
  • Jenkins参数化构建:用于测试环境预上线环境部署,开发push代码或者合并代码到gitlab项目的master分支之后,并不会部署代码,而是需要登录到jenkins的web界面,点击构建按钮,传入对应的参数,然后才会部署。
  • Jenkins定时构建:用于APP自动打包,定时构建是在参数化构建的基础上添加的,开发人员可以登录jenkins手动传入tag进行打包,如果不手动打包,那么jenkins就每天凌晨从gitlab拉取最新的APP代码打包。

Jenkins 用户架构


Jenkins 基础知识大补
  • 每当代码改变的时候,这个工具自动的编译和测试你的应用。
  • 如果出现错误,立即通知开发者,能够立即修复问题。
  • 能自动地监测代码质量和测试覆盖率。可视化的代码质量度量方案能够鼓励开发者不断地改进他们的代码。


分享到:


相關文章: