【智簡聯接,萬物互聯】華為云·云享專家董昕:Serverless和微服務下, IoT的變革蓄勢待發
791
2025-04-04
背景
每一個應用都在研發階段都會有幾套環境,開發環境,集成環境,測試環境,生成環境。對于不同的環境,CI/CD的處理方式可能有所不同。在GitLab CI/CD中,如果開發者想要快速查詢某一個部署環境的部署歷史,可以在流水線列表中,使用分支名稱,觸發用戶,tag名稱,以及流水線狀態來進行搜索,如下圖:
但如果開發者想要查詢某一個部署環境的部署歷史,在這種情況下,流水線的搜索是無法滿足需要的。即使開發團隊規定 特定分支部署特定環境。
environment關鍵詞
解決部署環境管理的問題需要使用GitLab CI/CD關鍵詞environment。使用它,開發者可以將一個作業設置為某一環境的部署作業,同一個環境的部署作業會被收集到一起,運行部署作業,或者停止作業都將觸發一個鉤子。開發者可以自定義執行相關業務邏輯。下圖是一個部署環境的管理頁面( 本文環境為GitLab 14.1)
開發者可以通過UI頁面自行創建 部署環境,也可以在一個作業中定義environment的值,
通過UI創建部署環境
點擊上圖的 New environment
填寫環境名稱,以及環境的訪問路徑。保存。
通過作業部署環境
deploy_test_env: script: echo 'deploy test env' environment: name: test url: https://fizzz.blog.csdn.net/
1
2
3
4
5
環境名稱只能包含字母,數字,空格以及這些字符 -,_, /, $, {, }。
同一個環境的作業會被歸納到同一個環境中,通過UI頁面,點擊環境名稱即可查看該環境下已經部署的作業,如下:
URL的作用
定義了 環境URL,開發者可以點擊頁面一個按鈕來快捷地訪問到部署環境。
下面是三處可以訪問的按鈕
其他配置項
on_stop是用于定義一個在移除環境時觸發的作業,它的值必須是一個同流水線,同環境的作業名稱。表明在通過UI移除部署環境或者自動移除部署環境時 運行配置的作業。
auto_stop_in 配置項用于到期自動移除部署環境,如一天后,一周后
action配置項是用于定義當期作業是部署環境的動作,有三個值,start 默認值),prepare,stop。
start 表明當期作業是創建一個部署環境
prepare 準備部署環境
stop停止部署環境 on_stop選擇的作業必須配置 action: stop。
下面是一個例子大家可以參考一下
# 部署test環境,停止環境時運行clean_test_env作業 deploy_test_env: script: echo 'deploy test env' environment: name: test url: https://fizzz.blog.csdn.net/ on_stop: clean_test_env # 部署dev環境,一周后自動停止 deploy_dev_env: script: echo 'deploy test env' environment: name: test url: https://fizzz.blog.csdn.net/ auto_stop_in: 1 week # 停止test環境,停止環境的腳本需自行編寫 clean_test_env: script: echo 'stop deploy and clean test env' when: manual environment: name: test action: stop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Kubernetes 可以設置部署的Kubernetes集群命名空間,前提是當前項目已集成Kubernetes。
deployment_tier 用于設置的部署等級,沒有太多意義。只是用于區分。常用等級有這些 production,staging,testing,development,other
后記
使用關鍵詞environment可以幫助開發者快速管理部署環境,跟蹤問題,極大地提高了開發體驗。大家一點要學會哦。
Git GitHub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。