从 Demo 中学习
为了方便讲述,我临时糊了个较为简单的 pipeline,效果如上图 (需安装 blue ocean 这个插件)。 准备工作也很简单,安装个 jenkins 2.x,在插件管理中下载 pipeline 相关插件即可。 创建一个 pipeline job 然后贴入如下代码:
library 'qa-pipeline-library'
pipeline{
agent{
label 'devops'
}
}
stages{
stage('环境部署'){
steps{
echo 'deploy'
}
}
stage('拉取测试代码'){
steps{
checkout([$class: 'GitSCM', branches: [[name: '*/release/3.8.2']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'LocalBranch', localBranch: 'sage-sdk-test']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gaofeigitlab', url: 'https://gitlab.4pd.io/qa/sage-sdk-test.git']]])
}
}
stage('sage sdk 测试'){
steps{
sh """
pip3 install -i http://pypi.4paradigm.com/4paradigm/dev/ --trusted-host pypi.4paradigm.com 'sage-sdk[builtin-operators]'
pip3 install -r requirement.txt
cd test
python3 -m pytest -n 5
"""
}
}
stage('生成测试报告'){
steps{
allure commandline: 'allure2.13.1', includeProperties: false, jdk: '', results: [[path: 'test/allure-results']]
}
}
}
post{
always{
sendEmail('sungaofei@4paradigm.com')
}
}
}
pipeline 语法分别指令式和脚本式。 上面是指令式的 demo, 是入门 jenkins pipeline 的首选。 指令式有点想咱们测试领域的关键字驱动一样, 它事先实现了很多有用的指令。所以对新手十分友好,学习成本很低。缺点是跟没有办法在脚本中灵活的应用 groovy 语言,换言之就是在脚本中使用 groovy 是有限制的。 而脚本式相反, 优点是可以在脚本中肆意插入 groovy 代码,怎么都行。 但毕竟学习 groovy 语言有成本,而且不能只用声明式的那些好用的指令。 所以声明式是大部分人的首选。
流程解释
我没打算像官方一样一个指令一