在GitLab CI/CD中使用environment對部署環境進行管理

      網友投稿 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

      在GitLab CI/CD中使用environment對部署環境進行管理

      環境名稱只能包含字母,數字,空格以及這些字符 -,_, /, $, {, }。

      同一個環境的作業會被歸納到同一個環境中,通過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小時內刪除侵權內容。

      上一篇:服裝管理系統(百勝3000服裝管理系統)
      下一篇:盤點Golang并發那些事兒之一
      相關文章
      国产在亚洲线视频观看| 亚洲Av无码乱码在线观看性色| 亚洲午夜精品一级在线播放放| 亚洲AV无码一区二区三区性色| 亚洲综合一区二区三区四区五区| 亚洲国产成人精品青青草原| 亚洲成a人片毛片在线| 亚洲精品91在线| 亚洲国产成人精品无码区在线秒播| 亚洲精品在线播放视频| 亚洲影视一区二区| 久久精品国产亚洲av麻豆蜜芽| 亚洲中字慕日产2020| 亚洲二区在线视频| 色天使亚洲综合在线观看| 99999久久久久久亚洲| 亚洲欧美日韩国产成人| 亚洲av成人中文无码专区| 色天使亚洲综合一区二区| 午夜亚洲福利在线老司机| 亚洲精品国产精品国自产观看| 中文字幕精品无码亚洲字| 亚洲人成无码网站| 亚洲AV无码乱码国产麻豆穿越| 亚洲大片在线观看| 亚洲精品91在线| 最新亚洲春色Av无码专区 | 亚洲乱码中文字幕在线| 亚洲av午夜电影在线观看| 无码天堂亚洲国产AV| 亚洲女人被黑人巨大进入| 狠狠亚洲婷婷综合色香五月排名| 在线亚洲午夜理论AV大片| 亚洲AV无码一区二区二三区入口 | 亚洲成a人片在线观看日本| 亚洲日本中文字幕区| 亚洲国产电影在线观看| 亚洲欧好州第一的日产suv| 亚洲成A人片在线观看中文| 亚洲中久无码不卡永久在线观看| 亚洲中文字幕在线第六区|