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/