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)

安装启动

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