Rancher使用--后端流水线
前期準備 ?需要配置gitlab憑證
?
?
?
?
?
?
?
?
?
?
?
這里選擇gitlab
然后去gitlab 生成ID和密鑰 ??根據需要選擇下面的內容
將這里的內容復制到rancher的流水線設置gitlab憑證
?
1.項目配置
項目根目錄(與pom.xml同級)需要增加四個文件(.rancher-pipeline.yml、deployment.yaml、Dockerfile、settings.xml)
1.1 ?.rancher-pipeline.yml文件
stages: - name: bulidsteps:- runScriptConfig:image: maven:3.8.1-jdk-8-slimshellScript: |-LOG_TAG="CHIP-INFO"MVN_SETTINGS_PATH="/root/.m2"if [ -d "${MVN_SETTINGS_PATH}" ];thenmv ./settings.xml ${MVN_SETTINGS_PATH}if [ $? -eq 0 ];thenecho "[$LOG_TAG]Copy settings.xml to ${MVN_SETTINGS_PATH} success!"elseecho "[$LOG_TAG]Copy settings.xml to ${MVN_SETTINGS_PATH} fail!"fielsemkdir -p ${MVN_SETTINGS_PATH} && mv ./settings.xml ${MVN_SETTINGS_PATH}echo "[$LOG_TAG]Create path:${MVN_SETTINGS_PATH} and copy settings.xml to ${MVN_SETTINGS_PATH}!"fiecho "[$LOG_TAG]Current pwd:`pwd`"ls -lecho "[$LOG_TAG]===========Execute Maven CMD Build Project Start==========="mvn clean package -Dmaven.test.skip=trueecho "[$LOG_TAG]===========Execute Maven CMD Build Project End==========="echo "[$LOG_TAG]Dir:target ls -l:`pwd`"ls -l ./target - name: publishsteps:- publishImageConfig:dockerfilePath: ./DockerfilebuildContext: .tag: 192.168.xxx.xxx/zhiwu-config:latest?#docker私服里鏡像名稱pushRemote: trueregistry: 192.168.xxx.xxx??#docker私服地址env:PLUGIN_DEBUG: "true"PLUGIN_INSECURE: "true" - name: deploysteps:- applyYamlConfig:path: ./deployment.yaml timeout: 60 notification: {}1.2 ??deployment.yaml文件
kind: Service apiVersion: v1 metadata:name: zhiwu-config ???#:改為自己服務名稱 spec:selector:app: zhiwu-config ??#:改為自己服務名稱type: NodePortports:- protocol: TCPport: 33002 ???????#:kubernetes中的服務之間訪問的端口targetPort: 8090 ??#:容器的端口(最根本的端口),與制作容器時暴露的端口一致(DockerFile中EXPOSE)nodePort: 32002 ??#:外部機器可訪問的端口,一個Web應用需要被其他用戶訪問,需要配置type=NodePort,而且配置nodePort=32002,那么其他機器就可以通過瀏覽器訪問scheme://node:32002訪問到該服務;有效端口范圍:30000-32767 --- apiVersion: apps/v1 kind: Deployment metadata:name: zhiwu-config #改為自己服務名稱labels:app: zhiwu-config #改為自己服務名稱 spec:replicas: 1selector:matchLabels:app: zhiwu-config #改為自己服務名稱template:metadata:labels:app: zhiwu-config #改為自己服務名稱spec:imagePullSecrets:- name: private-repositorycontainers:- name: zhiwu-config ????????#pod的名稱,必須字段,名稱唯一且對象創建后不可以被修改image: 192.168.xxx.xxx/zhiwu-config:latest ?#:鏡像倉庫的路徑/鏡像的名稱:鏡像的標簽imagePullPolicy: Always ?#Always(總是去倉庫下載),Never(從不去倉庫下載),IfNotPresent(如果本地沒有就去倉庫下載),默認是"IfNotPresent"ports:- containerPort: 8090 #TODO:pod暴露的端口,此端口僅是額外的信息,對端口是否被暴露沒有影響1.3 ??Dockerfile文件
FROM openjdk:8u292-jre ADD target/*SNAPSHOT.jar zhiwuBackend_prod.jar EXPOSE 8090 ENTRYPOINT ["java","-jar","zhiwuBackend_prod.jar"]1.4 ??settings.xml文件
settings.xml主要設置jenkins構建項目時Maven插件的配置信息,無需修改內容,直接復制到項目根目錄即可。
?
2.rancher配置流水線
2.1 登錄Rancher
2.2 設置代碼庫
點擊設置代碼庫,配置gitlab登錄賬戶,拉取gitlab賬戶相關項目,設置成功后,相關項目出現在流水線中:
2.3編輯配置
選擇想要自動構建的分支,點擊"完成",彈出選擇“僅下載流水線配置”,點擊“確定”。
之前添加的四個文件 rancher這里會自動識別
3.運行流水線
3.1 運行? ? ??
選中部署的流水線,點擊“運行”,彈窗選擇想要的部署分支,點擊“運行”,啟動流水線自動部署:
3.2 流水線運行
啟動流水線運行,等待執行完成,此處編譯部署需要較長時間:
3.3 流水線執行完畢
流水線執行完畢,會在相應的pipline命名空間下部署該應用:
?
總結
以上是生活随笔為你收集整理的Rancher使用--后端流水线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rancher搭建NFS服务器
- 下一篇: idea中配置个人注解代码模板