1 概述
本文重点整理pipeline整体流程和配置中的几点细节,弱化了配置流程,如果想看完整的配置流程请点击Jenkins和gitlab(webhooks)的CI/CD前置工作。
1.1 环境简述
服务器:centos7.*
gitlab: Community Edition 10.2.1
Jenkins: 2.6 +
1.2 前期准备
- 配置好的jenkinsfile(Scripted Pipeline)。
- 已经配置好的Credentials,这里不再赘述证书的配置过程。
- Jenkins需要安装“Open Blue Ocean”插件。
1.3 整体流程
在你想要做CI/CD的工程中增加jenkinsfile并编写相应脚本。
在jenkins中创建Pipeline风格的任务。
除以下介绍的要点外,其他流程基本与Jenkins和gitlab(webhooks)的CI/CD前置工作相同,本文不再重复介绍。
2 要点
2.1 Advanced Project Options下的Pipeline的配置
配置请见下图:
2.2 pipeline配置脚本的几种形式
-
形式1:配置跟着工程走,创建jenkinsfile在工程的根目录。jenkinsfile的编写语法有两种:声明式(Declarative)和脚本式(Scripted),不多赘述各自的优缺点和语法区别,建议初学者使用脚本式,未必灵活,但是几乎不需要学习成本。
-
脚本式:
node { stage('update project'){ echo 'checkout scm...' checkout scm } stage('Test') { echo 'Testing..' sh 'xxxxxxxxx' } stage('Build') { echo 'Building..' sh 'xxxxxxxxx' } stage('Deploy') { echo 'Deploy clean&&stop' } }
-
声明式:
Jenkinsfile (Declarative Pipeline) pipeline { agent { docker 'maven:3-alpine' } stages { stage('Example Build') { steps { sh 'mvn -B clean verify' } } } }
-
形式2:配置跟着jenkins的任务走,创建Build step,然后串成一个pipeline。不太建议这样,一是配置规则在这种形式下没有版本管理,二是复用没有形式1方便。
create at 2018/04/27 20:06:00