成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

第五章九析帶你玩轉(zhuǎn)rancher-流水線發(fā)布

本系列文章:

創(chuàng)新互聯(lián)建站從2013年開(kāi)始,先為伊春等服務(wù)建站,伊春等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為伊春企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

第一章:九析帶你玩轉(zhuǎn) rancher - 安裝篇

第二章:九析帶你玩轉(zhuǎn) rancher - 導(dǎo)入集群篇

第三章:九析帶你玩轉(zhuǎn) rancher - 集成 gitlab

第四章:九析帶你玩轉(zhuǎn) rancher - 集成 harbor

第五章:九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

目錄

1 前言

2 設(shè)置流水線

????2.1 關(guān)聯(lián)代碼庫(kù)

????????2.1.1 指定項(xiàng)目空間

????????2.1.2 設(shè)置代碼庫(kù)

????2.2 關(guān)聯(lián)鏡像庫(kù)

????2.3 全局流水線設(shè)置

????2.4 項(xiàng)目空間流水線設(shè)置

3 執(zhí)行流水線

4 流水線成功執(zhí)行


1 前言

????????本文是在上章《九析帶你玩轉(zhuǎn) rancher - 集成 gitlab》的基礎(chǔ)上進(jìn)行配置的,所以在發(fā)布 rancher 流水線前,需確保 rancher 和 gitlab 已經(jīng)關(guān)聯(lián)。

流水線是 DevOps 的實(shí)現(xiàn),它提供非常友好的界面 UI,使開(kāi)發(fā)人員僅僅通過(guò)鼠標(biāo),就可以完成整個(gè)微服務(wù)的發(fā)布上線。在 rancher 中,一個(gè)微服務(wù)就對(duì)應(yīng)一條流水線。


2 設(shè)置流水線

????????設(shè)置流水線需同時(shí)設(shè)置全局流水線和項(xiàng)目流水線。全局流水線的設(shè)置會(huì)影響到項(xiàng)目流水線。

2.1 關(guān)聯(lián)代碼庫(kù)

2.1.1 指定項(xiàng)目空間

????????本文 default 項(xiàng)目空間下配置流水線:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????在 default 項(xiàng)目空間下,選擇“資源” -> “流水線” 菜單:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

2.1.2 設(shè)置代碼庫(kù)

????????選擇“設(shè)置代碼庫(kù)”按鈕:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????選擇“刷新代碼庫(kù)”按鈕:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????由于 gitlab 已經(jīng)跟 rancher 關(guān)聯(lián),故刷新代碼庫(kù)之后,就會(huì)顯示你在 gitlab 中的服務(wù)代碼:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????啟用服務(wù):

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????點(diǎn)擊完成:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

2.2 關(guān)聯(lián)鏡像庫(kù)

????????本文在 default 空間下關(guān)聯(lián)鏡像庫(kù):

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????添加憑證:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????填寫(xiě)相關(guān)信息:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

2.3 全局流水線設(shè)置

????????選擇指定集群(zcy-arch-k8s),再選擇“工具”,最后選擇“流水線”:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????修改內(nèi)容如下:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????全局流水線會(huì)控制項(xiàng)目流水線的并發(fā)個(gè)數(shù)、資源占比情況等。

2.4 項(xiàng)目空間流水線設(shè)置

????????項(xiàng)目空間流水線需同時(shí)選中“集群”(zcy-arch-k8s)和“項(xiàng)目空間”(default):

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????選擇 “編輯配置” 子菜單:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布???????? 點(diǎn)擊 “設(shè)置流水線” 鏈接后的圖示如下:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ? ? 可根據(jù)各自需求添加流水線“階段”,一般情況下,整個(gè)流水線跑四個(gè)階段就足夠了,即:

1 clone 階段:這是系統(tǒng)默認(rèn)的必須階段,指從代碼庫(kù)下載微服務(wù)的源代碼。

2 build 階段:編譯源代碼,并生成 Dockerfile 文件

3 publish 階段:根據(jù)上階段的 Dockerfile 文件生成鏡像,然后將鏡像上傳到指定鏡像倉(cāng)庫(kù)

4 deploy 階段:從鏡像倉(cāng)庫(kù)下載上階段生成的服務(wù)鏡像,然后啟動(dòng)容器運(yùn)行

????????下面以 java 語(yǔ)言為例,在服務(wù)(這里是: chapter-001-helloworld)代碼庫(kù)創(chuàng)建 rancher 總流水線文件 .rancher-pipeline.yml,如下圖所示:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????文件定義了流水線 3 個(gè)階段,文件內(nèi)容如下:

stages:

- name: Build

?steps:

?- runScriptConfig:

? ? ?image: jiuxi.harbor.org/stable/maven-3.6.0-jdk-8

? ? ?shellScript: mvn -B -U -DskipTests clean package spring-boot:repackage

- name: Publish

?steps:

?- publishImageConfig:

? ? ?dockerfilePath: ./Dockerfile

? ? ?buildContext: .

? ? ?tag: stable/${CICD_GIT_REPO_NAME}:${CICD_GIT_COMMIT}

? ? ?pushRemote: true

? ? ?registry: jiuxi.harbor.org

? ?env:

? ? ?PLUGIN_DEBUG: "true"

? ? ?PLUGIN_INSECURE: "true"

- name: Deploy

?steps:

?- applyYamlConfig:

? ? ?path: ./Deployment.yaml

notification: {}

????????Publish 階段是把 Build 階段生成的 jar 文件,根據(jù)預(yù)先定義的 Dockerfile 文件做成服務(wù)鏡像,并推送到私有鏡像倉(cāng)庫(kù)中,其中自定義 Dockerfile 文件定義如下:

FROM jiuxi.harbor.org/stable/java:8

MAINTAINER "jiuxi"<1494445739@qq.com>

ADD ./target/application.jar application.jar

EXPOSE 8080

CMD ["/bin/sh", "-c", "java -jar application.jar"]

????????Deploy 階段是在 k8s 中執(zhí)行自定義部署文件 Deployment.yaml,創(chuàng)建服務(wù)的 service 和 deployment 資源,并運(yùn)行容器,自定義 Deployment.yaml 文件內(nèi)容如下:

apiVersion: v1

kind: Service

metadata:

?name: ${CICD_GIT_REPO_NAME}

?labels:

? ?app: ${CICD_GIT_REPO_NAME}

spec:

?type: ClusterIP

?selector:

? ?app: ${CICD_GIT_REPO_NAME}

?ports:

?- port: 8080

? ?targetPort: 8080

---

apiVersion: apps/v1

kind: Deployment

metadata:

?name: ${CICD_GIT_REPO_NAME}

spec:

?replicas: 1

?selector:

? ?matchLabels:

? ? ?app: ${CICD_GIT_REPO_NAME}

?minReadySeconds: 5

?strategy:

? ?type: RollingUpdate

?template:

? ?metadata:

? ? ?labels:

? ? ? ?app: ${CICD_GIT_REPO_NAME}

? ?spec:

? ? ?containers:

? ? ?- name: ${CICD_GIT_REPO_NAME}

? ? ? ?image: jiuxi.harbor.org/stable/${CICD_GIT_REPO_NAME}:${CICD_GIT_COMMIT}

? ? ? ?livenessProbe:

? ? ? ? ?tcpSocket:

? ? ? ? ? ?port: 8080

? ? ? ?imagePullPolicy: Always

? ? ? ?env:

? ? ? ?- name: TZ

? ? ? ? ?value: "Asia/Shanghai"

? ? ? ?- name: MY_POD_IP

? ? ? ? ?valueFrom:

? ? ? ? ? ?fieldRef:

? ? ? ? ? ? ?fieldPath: status.podIP

? ? ? ?- name: jiuxi_logs_${CICD_GIT_REPO_NAME}-stdout

? ? ? ? ?value: "stdout"

? ? ? ?- name: jiuxi_logs_${CICD_GIT_REPO_NAME}-logs

? ? ? ? ?value: "/data/logs/${CICD_GIT_REPO_NAME}/*.log"

? ? ? ?volumeMounts:

? ? ? ?- name: logs

? ? ? ? ?mountPath: /data/logs/${CICD_GIT_REPO_NAME}

? ? ? ?- name: time

? ? ? ? ?mountPath: /etc/localtime

? ? ? ?resources:

? ? ? ? ?limits:

? ? ? ? ? ?memory: 1Gi

? ? ?volumes:

? ? ?- name: time

? ? ? ?hostPath:

? ? ? ? ?path: /etc/localtime

? ? ?- name: logs

? ? ? ?emptyDir: {}

? ? ?restartPolicy: Always

????????提交 .rancher-pipeline.yaml、Deployment.yaml、Dockerfile 文件到 gitlab。然后在 rancher 中重新點(diǎn)擊“設(shè)置代碼庫(kù)”:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

??????“刷新代碼庫(kù)”,點(diǎn)擊“完成”:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????再點(diǎn)擊“編輯配置”:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????流水線已經(jīng)自動(dòng)配置好:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????確定一下 Publish 階段的鏡像倉(cāng)庫(kù)地址是否正確:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????點(diǎn)擊“完成”按鈕:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????點(diǎn)擊確認(rèn),整個(gè)流水線的配置已經(jīng)完成。


3 執(zhí)行流水線

????????選擇“運(yùn)行”菜單來(lái)執(zhí)行流水線:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????選擇指定代碼分支,我這里是“master”:

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

????????點(diǎn)擊“運(yùn)行”:第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

? ? ? ? 流水線開(kāi)始執(zhí)行,首次啟動(dòng)流水線時(shí),需下載 jenkins、minio、docker-registry 等鏡像,因此需要一定時(shí)間。如果執(zhí)行報(bào)如下錯(cuò):第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

? ? ? ? 說(shuō)明 pipeline 運(yùn)行容器并不識(shí)別自定義域名,你需要重啟流水線。第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????啟動(dòng)后,jenkins 會(huì)動(dòng)態(tài)生成 pipeline 容器,此時(shí)你需要趁著 pipeline 容器生成瞬間進(jìn)入它的控制臺(tái)(所以你最好同時(shí)打開(kāi) 2 個(gè) rancher 頁(yè)面,一個(gè)是流水線執(zhí)行頁(yè)面,如上圖;另外一個(gè)是 default 項(xiàng)目空間頁(yè)面,如下圖):第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????要注意,jenkins 在生成 pipeline 容器的時(shí)候,頁(yè)面會(huì)自動(dòng)刷新(所以你不用手動(dòng)刷新頁(yè)面);其次,你要確保流水線前面的狀態(tài)是 Running 時(shí),操作后面的“更多”按鈕才可以顯示“執(zhí)行命令行”菜單:第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????在彈出的“執(zhí)行命令行”界面輸入下面命令修改 /etc/hosts 文件:

echo "10.110.101.100 jiuxi.gitlab.com jiuxi.harbor.org jiuxi.nexus.org" >> /etc/hosts


4 流水線成功執(zhí)行第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ?????在 default 項(xiàng)目空間下查看服務(wù):第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????發(fā)現(xiàn) chapter-001-helloworld 已經(jīng)成功運(yùn)行:第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????點(diǎn)擊進(jìn)入 chapter-001-helloworld 查看 pod 日志:第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????發(fā)現(xiàn)服務(wù)已經(jīng)正常運(yùn)行:第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布

第五章 九析帶你玩轉(zhuǎn) rancher - 流水線發(fā)布? ? ????自此,輕松完爆 rancher 流水線發(fā)布。

分享題目:第五章九析帶你玩轉(zhuǎn)rancher-流水線發(fā)布
轉(zhuǎn)載注明:http://jinyejixie.com/article24/jjicje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、做網(wǎng)站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
历史| 恩平市| 洛浦县| 利辛县| 孝感市| 浦县| 泗水县| 彰武县| 隆尧县| 林周县| 鄢陵县| 墨竹工卡县| 万年县| 明溪县| 武鸣县| 扶余县| 菏泽市| 仁寿县| 江口县| 余姚市| 临邑县| 张掖市| 太谷县| 涿州市| 宁晋县| 墨江| 静安区| 常山县| 遂川县| 崇阳县| 阳新县| 平湖市| 和龙市| 泉州市| 读书| 华池县| 孝义市| 班戈县| 益阳市| 兴城市| 汉阴县|