Rancher pipeline 实现简单跟踪
rancher的pipeline也是基于jenkins 。
1. Pipeline功能
- Build your application from code to image.
- Validate your builds.
- Deploy your build images to your cluster.
- Run unit tests.
- Run regression tests.
2. How Pipelines Work
ui上面添加,或者是在git源里面添加一个.rancher-pipeline.yml 。
pipeline里面可以做5个事情
- 运行脚本 可以做编译的一些工作。
- 构建镜像 指定dockerfile 位置,可以推送到远端,比如harbor
- 发布应用模版 这里发布的应用是指rancher的应用商店,可以看作helm的增强版。
- 部署yaml 直接应用yaml ,推完镜像直接升级,(生产环境注意风险).
- 部署应用
rancher 会启动3个deployment :
- jenkins
- docker registry 存放镜像用
- Minio 收集日志用
3. Jenkins
Jenkins 镜像来源于rancher/pipeline-jenkins-server:v0.1.4 也是开源的,可以在https://github.com/rancher/pipeline-jenkins-server 上面找到,此jenkins 是内部使用的,但是你可以通过某些方式比如port-forward来访问,
kubectl -n p-x6lkv-pipeline port-forward serv/jenkins 8000:8080
密码的话可以进到pod 里面查看环境变量
#env|grep admin
ADMIN_USER=admin
ADMIN_PASSWORD=lpqqz8687bv
可以登陆Jenkins,排错时候可以用。
pipeline配合应用商店还是挺好用的,如果不使用pipeline的话应用商店比较难维护。
参考文档 https://rancher.com/docs/rancher/v2.x/en/k8s-in-rancher/pipelines/