Jenkins是一款开源的CI/CD软件,用于各种任务的自动化执行,包括构建、测试、部署等,其流水线(Pipeline)是用户定义的一个CD流水线模型,流水线的代码定义了整个的构建过程,包括构建、测试和交付应用程序;流水线包括声明式流水线和脚本化流水线两种,而Pipeline属于声明式流水线
安装并配置Jenkins
Jenkins官方下载
安装过程此处忽略,就是传统的方式
安装Blue Ocean插件
安装Node.js插件
安装Envlnject插件
安装Github Integration插件
配置Github
配置Github
将Token复制下来,配置到Jenkins中,用于Jenkins中Github配置Credentials
Payload URl中填写Jenkins Server所在地址,格式为http://server ip:server port/github-webhook/
创建Jenkins Pipeline流水线
通过Jenkins页面创建流水线
保存后,Pipeline会自动生成一个Jenkinsfile并开始运行,之后便可以在Jenkins中看到该流水线的触发和执行过程了
直接编写Jenkinsfile创建流水线
在项目的根目录下直接建立Jenkinsfile文件定义流水线各个步骤
//Jenkinsfile(声明式流水线)
pipeline{ //pipeline是声明式流水线的特定语法,它定义包含执行整个流水线的所有内容和指令
agent any //agent是声明式流水线的特定语法,它指示Jenkins在节点上为整个流水线分配一个执行器和工作区
stages{
stage('Build'){ //stage是一个描述stage of this pipeline的语法块
steps{ // steps是声明式流水线的一种特定语法,它描述了该stage中要运行的步骤
sh 'make' //sh是一个执行给定命令的流水线step
}
}
stage('Test'){
steps{
sh 'make check'
junit 'reports*.xml' //junit是另一个聚合测试报告的流水线step
}
}
stage('Deploy'){
steps{
sh 'make publish'
}
}
tools{
Node.js 'Node.js 13'
}
environment{
CHROME_BIN='/bin/google-chrome'
}
}
}
注意:Jenkinsfile中运行yarn命令是无效的,应该转成npm去执行