日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
KubeSphereDevOps系統(tǒng)功能實(shí)戰(zhàn)

KubeSphere DevOps 系統(tǒng)功能實(shí)戰(zhàn)

作者:KubeSphere 2022-07-13 08:49:27

云計(jì)算

云原生 DevOps 可以幫助我們拉取代碼、項(xiàng)目編譯、構(gòu)建鏡像、推送鏡像、項(xiàng)目部署全自動(dòng)一條龍服務(wù)。

創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、seo優(yōu)化、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為木制涼亭等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

前言

基于 Jenkins 的 KubeSphere DevOps 系統(tǒng)是專為 Kubernetes 中的 CI/CD 工作流設(shè)計(jì)的,它提供了一站式的解決方案,幫助開發(fā)和運(yùn)維團(tuán)隊(duì)用非常簡(jiǎn)單的方式構(gòu)建、測(cè)試和發(fā)布應(yīng)用到 Kubernetes。它還具有插件管理、Binary-to-Image (B2I)、Source-to-Image (S2I)、代碼依賴緩存、代碼質(zhì)量分析、流水線日志等功能。

DevOps 系統(tǒng)為用戶提供了一個(gè)自動(dòng)化的環(huán)境,應(yīng)用可以自動(dòng)發(fā)布到同一個(gè)平臺(tái)。它還兼容第三方私有鏡像倉庫(如 Harbor)和代碼庫(如 GitLab/GitHub/SVN/BitBucket)。它為用戶提供了全面的、可視化的 CI/CD 流水線,打造了極佳的用戶體驗(yàn),而且這種兼容性強(qiáng)的流水線能力在離線環(huán)境中非常有用。

簡(jiǎn)而言之,DevOps 可以幫助我們拉取代碼、項(xiàng)目編譯、構(gòu)建鏡像、推送鏡像、項(xiàng)目部署全自動(dòng)一條龍服務(wù)。

關(guān)于如何安裝 DevOps 功能請(qǐng)參照:https://kubesphere.io/zh/docs/pluggable-components/devops/。

創(chuàng)建 DevOps 工程 && 創(chuàng)建流水線

創(chuàng)建 DevOps 工程:企業(yè)空間—>DevOps 工程—>創(chuàng)建;填入工程名稱,點(diǎn)擊確定即可。

創(chuàng)建流水線:點(diǎn)擊剛才創(chuàng)建好的 DevOps 工程,找到流水線菜單,點(diǎn)擊創(chuàng)建,輸入流水線名稱。

代碼倉庫可以填也可以不填,現(xiàn)在填寫的話到時(shí)候會(huì)有一個(gè) webhook 地址,這個(gè)地址可以到 Git(或者其他倉庫)倉庫設(shè)置有代碼提交的時(shí)候自動(dòng)運(yùn)行我們的流水線,相當(dāng)于是一個(gè)回調(diào),這樣就可以代碼提交到項(xiàng)目部署完全是一個(gè)全自動(dòng)的過程。

那么這里我們先演示不填的情況,填寫流水線名稱之后點(diǎn)擊下一步,點(diǎn)擊創(chuàng)建就行了。

編輯流水線

點(diǎn)擊剛才創(chuàng)建的流水線進(jìn)入,點(diǎn)擊編輯流水線:

可以看到,有兩套模板,這里我們選擇第二套,然后點(diǎn)擊保存:

可以看到效果,然后我們點(diǎn)擊編輯流水線:

進(jìn)來之后可以看到右邊有一個(gè)代理,下邊有代理 type 和 lable。代理類型這里我們選擇 node。下邊這個(gè) lable 有四個(gè)選項(xiàng):base、go、maven、nodejs:

  • 如果我們是 java 相關(guān)的項(xiàng)目打包,那么我們可以選擇 maven。
  • 如果是前端項(xiàng)目可以使用 nodejs。
  • 如果是 go 語言開發(fā)可以選擇 go。
  • 如果是其他的那么可以選擇 base。

官網(wǎng)解釋:https://kubesphere.io/zh/docs/devops-user-guide/how-to-use/choose-jenkins-agent/。

這里小編是部署 java 項(xiàng)目,所以我選擇了 maven。

1、拉取代碼

  • 步驟 1:點(diǎn)擊,可以看到右邊的窗口。
  • 步驟 2:填寫該階段的名稱。
  • 步驟 3:將指定的 base 容器刪除,因?yàn)槲覀円褂?maven 容器。

點(diǎn)擊添加步驟:

選擇指定容器:

填寫容器名稱,點(diǎn)擊確定:

點(diǎn)擊添加嵌套步驟:

選擇通過 git 拉取代碼,當(dāng)然如果你是 svn,可以選擇下面一個(gè) checkout。小編使用的是 git。

填寫 gie 倉庫 Url,以及分支,然后點(diǎn)擊新建憑證:

  • 輸入憑證 id:這個(gè)隨便起名。
  • 類型:選擇賬戶憑證。
  • 用戶名:git 的用戶名。
  • token/密碼:git 的密碼。

然后點(diǎn)擊確定,確定。

若是想顯示拉取下來的代碼目錄,可以添加嵌套步驟:

然后點(diǎn)擊確定、保存。

完了之后可以點(diǎn)擊運(yùn)行,看一下效果。

2、項(xiàng)目編譯

運(yùn)行完之后我們?cè)俅吸c(diǎn)擊編輯流水線,點(diǎn)擊第二個(gè)步驟,填寫名稱:項(xiàng)目編譯。

同樣的指定 maven 容器,添加嵌套步驟:shell 腳本,輸入 maven 的打包命令:

$ mvn clean package -Dmaven.test.skip=true

點(diǎn)擊確認(rèn),點(diǎn)擊保存,同樣可以運(yùn)行看一下效果,是否成功。

3、構(gòu)建鏡像

運(yùn)行完之后我們?cè)俅吸c(diǎn)擊編輯流水線,點(diǎn)擊第三個(gè)步驟,填寫名稱:構(gòu)建鏡像;代理類型選擇:none。

同樣的指定 maven 容器,添加嵌套步驟:shell 腳本,輸入命令,顯示目錄下文件:

ls isee-gateway/target

輸入 docker 構(gòu)建鏡像命令:

$ docker build -t isee-gateway:latest -f isee-gateway/Dockerfile isee-gateway/

參數(shù)說明:isee-gateway:latest:鏡像名稱已經(jīng)標(biāo)簽 -f:指定 Dockerfile 文件進(jìn)行構(gòu)建 isee-gateway/:在這個(gè)目錄。

在實(shí)際運(yùn)用中,我們不可能一次構(gòu)建一個(gè)鏡像,我們可能有多個(gè)、幾十個(gè)微服務(wù)需要構(gòu)建鏡像,所以這里我們還可以添加并行步驟,然后接著上述步驟進(jìn)行構(gòu)建就行了:

4、推送鏡像

運(yùn)行完之后我們?cè)俅吸c(diǎn)擊編輯流水線,點(diǎn)擊第四個(gè)步驟。

  • 填寫名稱:推送鏡像;(我們要將鏡像推送至阿里云鏡像倉庫,當(dāng)然你也可以推送到其他倉庫或者私有倉庫)。
  • 代理類型選擇:none。

同樣的指定 maven 容器,添加嵌套步驟:添加憑證。

點(diǎn)擊確定,創(chuàng)建完之后選擇我們剛才創(chuàng)建的憑證,填寫用戶名、密碼變量(意思是將用戶名、密碼作為一個(gè)變量,之后登錄阿里云倉庫、推送鏡像等操作就可以使用這個(gè)變量,這樣的話就不用手動(dòng)輸入用戶名密碼了)。

【登錄阿里云倉庫】添加嵌套步驟,選擇 shell 腳本,輸入以下內(nèi)容(這里我們就使用到了用戶名密碼變量):

$ echo "$DOCKER_PWD_VAR" | docker login $REGISTRY -u "$DOCKER_USER_VAR" --password-stdin

【給鏡像打標(biāo)簽】添加嵌套步驟,選擇 shell 腳本,輸入以下內(nèi)容:

$ docker tag isee-gateway:latest $REGISTRY/$DOCKERHUB_NAMESPACE/isee-gateway:SNAPSHOT-$BUILD_NUMBER

【推送鏡像】添加嵌套步驟,選擇 shell 腳本,輸入以下內(nèi)容:

$ docker push $REGISTRY/$DOCKERHUB_NAMESPACE/isee-gateway:SNAPSHOT-$BUILD_NUMBER

當(dāng)然,這里也是可以添加并行步驟的,同時(shí)推送多個(gè)鏡像至倉庫。

到這里你會(huì)有個(gè)疑惑,上面不止使用到 DOCKER_PWD_VAR、DOCKER_USER_VAR 這兩個(gè)變量,還是用到了 REGISTRY 變量,那么這個(gè)變量是什么呢?在哪里有定義呢?

保存流水線之后,點(diǎn)擊編輯 Jenkinsfile 文件:

最下面可以看到有定義 REGISTRY 變量,我們只需要將 REGISTRY 變量值改為自己阿里云倉庫的地址就行了。

完成之后保存,可以運(yùn)行看一下是否成功。

5、部署

老規(guī)矩,按步驟執(zhí)行:

按照步驟繼續(xù)執(zhí)行:

新建憑證:

上面有一個(gè)憑證 ID 需要填寫,這個(gè)怎么填呢?

先保存流水線,點(diǎn)擊編輯 Jenkinsfile,最下面有個(gè)變量名叫:KUBECONFIG_CREDENTIAL_ID,變量值是:demo-kubeconfig 我們填寫這個(gè)值便可。

創(chuàng)建完憑證,點(diǎn)擊確定就完成啦。

保存流水線,點(diǎn)擊運(yùn)行,至此,一整套的流水線就編輯完成啦!


分享題目:KubeSphereDevOps系統(tǒng)功能實(shí)戰(zhàn)
文章URL:http://www.dlmjj.cn/article/cddcijo.html