Blue Ocean简单介绍
Blue Ocean能够自动的创建和编写你的Jenkinsfile,并且会对Jenkinsfile进行版本控制。Jenkinsfile主要记录每个stage具体处理哪些内容,不同阶段的stage构成一个完整的pipeline。目前版本不支持svn,jenkins团队正在修复大量svn相关的bug,后期可能会考虑svn集成。
环境说明
- centos 6.8
- Jenkins 2.161.1以上版本[尽量选择最新版本包]
- Pipeline插件
- Blue Ocean插件
- gitlab代码仓库【目前不支持svn】
Blue Ocean的安装
选择Blue Ocean后会自动安装依赖包,建议安装选择下载待重启后安装。如下图进行插件安装,安装后重启进程。
install-blue-ocean
Blue Ocean的图形编辑
进入这步证明已经完成重启进程操作,可以直接点击进入Blue Ocean功能,如下创建第一个流水线。因为我的仓库是gitlab,所以选择git。仓库URL选择你的项目路径,如:git@gitlab.example.com:vincent/test.git。
填写后会出现一个ssh key,把这个key在gitlab上授权一下。如下:
add-ssh-key
授权后进入后续创建操作,这个过程可能比较长需要等。如果你的仓库根目录有Jenkinsfile,则直接开始第一次构建过程。如果仓库中不含Jenkinsfile则开启pipeline-editor,图形化编辑工作流。如下:
pipeline-editor
编辑完后会生成Jenkinsfile,并提交到你的仓库根目录,开始执行一次完整的构建过程。
build-code
生成的jenkinsfile
每次修改流水线工作流程并提交修改会修改一次Jenkinsfile,Jenkinsfile如下格式。具体如何修改Jenkinsfile可以参照官方文档:https://jenkins.io/doc/book/pipeline/syntax/
pipeline {
agent any
stages {
stage('clean env') {
parallel {
stage('clean env') {
steps {
echo 'test'
sh 'echo "this is test"'
}
}
stage('clean env1') {
steps {
sh '''echo "this is clean env1"
sleep 10'''
}
}
}
}
stage('switch') {
input {
message 'Should we continue?'
id 'Yes, we should.'
submitter 'alice,bob'
parameters {
string(name: 'PERSON', defaultValue: 'Mr Jenkins', description: 'Who should I say hello to?')
}
}
steps {
echo "Hello, ${PERSON}, nice to meet you."
}
}
stage('build code') {
steps {
sh '''echo "build code start"
sleep 10
echo "build code finish"'''
}
}
stage('stg deployment') {
parallel {
stage('deployment') {
steps {
timeout(time: 50, activity: true) {
sh '''echo "start deploy"
sleep 60
echo "deploy success"'''
}
}
}
stage('stg deployment1') {
steps {
sh '''echo "error deployment"
exit 1
echo "error deployment exit"'''
}
}
}
}
stage('prd deployment') {
steps {
sh '''echo "start prd deployment "
sleep 10
echo "prd deployment success"'''
}
}
}
}
执行工作流
可以通过在Blue Ocean界面触发执行操作,如下:
start-workflow
参考文档
https://jenkins.io/doc/book/pipeline/
https://jenkins.io/doc/book/pipeline/syntax/
https://jenkins.io/doc/book/pipeline/jenkinsfile/
网友评论