在使用 Jenkins 实施了企业级的 CI/CD 工作,有如下三个最重要的实践和总结。
第一,Configuration as Code(配置即代码)
其次,Jenkins shared libraries(Jenkins 共享库)
最后,Multi-Branch Pipeline(多分支流水线)
配置即代码
配置即代码(Configuration as Code)是一种在代码仓库里管理配置的方法。
I am Xianpeng, a build engineer. Today, I am going to share with you three Jenkins Practice.
I will talk about Configuration as code, followed up with shared libraries, and then Multi-Branch Pipeline in the end.
What is Configuration as Code?
Configuration as code (CAC) is an approach that managing configuration resources in a bitbucket repository
本文对于同样在 AIX 遇到这个问题的人会非常有帮助。另外,不要被标题无聊到,解决问题的过程值得参考。
分享一个花了两天时间才解决的一个问题:使用 Jenkins Artifactory 插件上传制品到 https 协议的企业级的 Artifactory 失败。该问题只在 AIX 平台上出现的,其他 Windows,Linux, Unix 均正常。
在程序员圈子里比较流行这样一句话“会写程序的干不过会写 PPT 的”,还记得 2019 年新东方年会的一首《放飞自我》里有这样一句歌词戳中了绝大大多数程序员的内心
“干的累死累活,有成果那又如何,到头来干不过写PPT的”。
一时间大家好像都认同了这个说法,表达着自己的不满和无奈。
我在做 Jenkins 声明式流水线开发时常会遇到的问题是:修改后的 Pipeline 看起来没有问题,当提交到代码仓库后进行 Jenkins 构建时发现原来有语法错误,然后再去修改、提交、构建,结果可能还有有其他没有注意到的语法问题。
为了减少这种因为语法错误而需要频繁像代码库去提交的情况,如果能在提交之前进行基本的语法校验,来检查当前的 Pipeline 是否存在语法错误就好了。
经过调查发现 Jenkins 本身提供了这样的语法检查 REST API,可以直接使用这个 API 来对 Pipeline 声明式进行语法校验,这个方式需要执行一长串的 curl
命令,看起来似乎很麻烦,如果能在 IDE 里直接运行就好了。
VS Code 作为当前当前最流行 IDE 工具,果然找到了相关的插件。
以下就介绍两种方法:针对 Jenkins 声明式流水线中的 Jenkinsfile 文件进行语法错误检查,这两种方式的原理都是通过调用 Jenkins REST API 来实现的。
Nightwatch js 是我之前写自动化测试用例使用了很长一段时间的测试框架,我当时的使用 v0.9 版本并且对使用和 API 进行了翻译。作为一名前测试工程师,对于自动化的知识不能不更新下自己的知识库,一转眼 Nightwatch 1.3 版本已经发布了,可以看到它在 GitHub 上的使用和关注度还是很高的。
Nightwarch.js 是一个端到端的基于 Node.js 使用 W3C Webdriver (以前是 Selenium )的自动化测试框架。它是一个完整的集成解决方案,用于 web 应用程序和网站的端到端测试,以及 Node.js 单元测试和集成测试。
use JMeter’s HTTP(S) Test Script Recorder, please refer to this official document https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html
Debug scripts on JMeter in GUI Mode
You can debug your record scripts in GUI Mode until there are no errors
run test scripts in Non-GUI Mode(Command Line mode) recommend
jmeter -n -t ..\extras\Test.jmx -l Test.jtl |