Jenkins是一款比较经典而优秀的流水线构建工具(平台)。
为了实现现代化构建方式Run configuration as Code, Jenkins引入了Blue Ocean插件。通过该插件,我们可以使用声明式语法来编写Jenkinsfile,定义流水线构建步骤 https://www.jenkins.io/zh/doc/book/pipeline/jenkinsfile/
然而在云原生和DevOps越来越流行的今天,传统的Jenkins模式只能满足CI的构建需求。于是Jenkins团队又引入了JenkinsX, 来实现一个现代化的GitOps平台。
emm, 不吹水了,其实我只想做个笔记,记录下折腾了很久后的才明白的安装步骤
目标
使用jx工具在microk8s上安装jenkinsx
https://jenkins-x.io/docs/labs/
因为不喜欢使用helm2在k8s上安装tiller, 所以这里直接跳级到helm3。不过这里就要使用JenkinsX Lab里的jxl工具了。(目前是实验性版本的jenkinsx,意味着要花更多时间折腾)
结果:暂时弃坑了,直接上tektoncd
安装
jxl本身使用gitops方式维护JenkinsX集群
jxl 安装
从这个链接下载安装jxl工具 https://github.com/jenkins-x-labs/jxl/releases
创建仓库
jxl boot create
这里我们选择minikube,和microk8s应该差不多。(注意不要选择更新本地jx版本,至少这篇文章写的时候这一步还有bug)
按提示输入完毕就会初始化仓库,把jenkins bot的token记录下来, 我偷懒直接用这个访问github 私有仓库(开起了两步验证,直接使用密码没有办法直接推代码到github)
- 这里还有一步是设置secret, 建议使用Hashicorp Vault存储secrets信息。
安装启动
- 拉取远程配置启动
jxl boot run --git-url https://github.com/artificerpi/environment-jx-dev --git-user artificerpi --git-token <TOKEN>
- 本地启动 (只是一个测试)
cd environment-jx-dev && jxl boot run -b
目前无法运行起来,报错/secrets/jx-boot/secrets.yaml无法找到,可能是个bug
error: failed to load secrets YAML /secrets/jx-boot/secrets.yaml: open /secrets/jx-boot/secrets.yaml: no such file or directory