国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

這篇具有很好參考價值的文章主要介紹了解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文來自:

楊洪麗 極狐GitLab 高級網站可靠性工程師(SRE)

只使用極狐GitLab 存放代碼? 那你就 OUT 啦!

如果你也遇到了如圖 A / B / C / D 各位同學的煩惱,不要錯過這篇能夠讓你日常工作更高效的內容。

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

使用極狐GitLab Webhook 觸發(fā) Pipeline,打通工作消息通知


關于 A 和 B 同學的煩惱,可以使用?Webhook?觸發(fā) Pipeline,打通工作消息通知?的功能來解決。

眾所周知,極狐(GitLab) 采用遠程辦公工作模式,必然有許多需要協(xié)同處理的工作,這些工作當然是采用極狐GitLab 自帶的 issue 提交到協(xié)同方。

關于需要 SRE 協(xié)同處理的工作,目前是在?Teamwork?中創(chuàng)建 issue,里面有模板,大家可以根據自己的需求填寫。

緊急??或一般事件也無需擔心該 issue assign 給誰,因為對于 SRE 來說,他們有 on-call 的工作流程,所以我們會由 on-call 的同事來進行響應和處理。

1. 如何配置

獲取觸發(fā)器令牌

首先,需要選擇一個 Project,新建或者現有項目都行。根據下面步驟獲取 Webhook 觸發(fā)令牌 ??

設置 → CI/CD → 流水線觸發(fā)器 → 添加觸發(fā)器 → 復制觸發(fā)令牌。

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

注: 在上述配置頁面也會有使用 webhook?配置的 url ,可直接復制替換令牌使用。

配置 webhook

設置→ Webhooks → 選擇想要觸發(fā) Webhook 的事件進行勾選。

如當前我們需要的是當有新的 issue 創(chuàng)建時觸發(fā)該 Pipeline。

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

注:其中 URL 為上述獲取 trigger 令牌時復制的URL。

2. 整個通知流水線的實現

1.?我們可以用自己的喜好和擅長的語言寫腳本來完成以下功能:

  • 獲取 Webhook 事件請求參數,所有請求參數都會以文件類型的 CI/CD Variable?形式保存在 CI Job 中,可以使用?cat $TRIGGER_PAYLOAD?或者運行類似的命令來查看;

  • 獲取當時的 On-caller;

  • 自定義消息內容,發(fā)送消息至 Slack。

2.?CI Job 文件配置,設置只有?trigger??時才執(zhí)行此 Job:

notify-sre:
  stage: notify-sre
  script:
    - chmod +x scripts/***.py
    - export TRIGGER_PAYLOAD=`cat $TRIGGER_PAYLOAD`
    - python3 scripts/***.py
  only:
    refs:
      - triggers
    variables:
      - $ISSUE_WEBHOOK == "true"

3. 實現效果

通知消息內容如圖:

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

這樣,既解決了 A ?同學的沒法及時響應,也解決了 B 同學的不知道 assign 給誰的問題。

使用極狐 GitLab 計劃流水線,打通工作消息通知


C 和 D 同學的問題,既然是機械式的工作,那我們可以設置定時任務去觸發(fā)流水線來完成需要手動處理的工作。

  • SRE 按照 Milestone 來管理日常的工作,周期是固定的,Manager 可能會忘記 Milestone 快結束了,但是程序不會忘記;

  • 作為 SRE,每周都會進行升級,如果都由一個人來操作創(chuàng)建 issue 并完成部署升級,效率可想而知。極狐GitLab 可以幫助你實現自動排班并創(chuàng)建 issue。

1. 如何設置

設置計劃流水線

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

1.?Milestone 結束提醒設置計劃流水線觸發(fā)策略:

  • 變量$NOTIFY_MILESTONE_END_ISSUE == "1"

  • 時間:

    首次提醒:14 號早上 10 點?0 10 14 * *

    最后提醒:17 號 18 點最后再友情提示一下:0 18 17 * *

2.?自動化部署 SaaS 的 issue 創(chuàng)建和提醒:

  • 變量$NOTIFY_RELEASE == "1"

  • 時間:每周四上午 11 點?0 11 * * 4

編寫 CI yml

  • 設置?CI_PIPELINE_SOURCE?為?schedule;

  • 特定 variable 執(zhí)行特定的 job。

image: ****:1.0

stages:
  - notify_sre

milestone_issue:
  stage: notify_sre
  script:
    - chmod +x scripts/1***.py
    - python3 scripts/1.py
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule" && $NOTIFY_MILESTONE_END_ISSUE == "1"

release-saas:
  stage: notify_sre
  script:
    - chmod +x scripts/2.py
    - python3 scripts/2.py
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule" && $NOTIFY_RELEASE == "1"

2. 整個通知流水線的實現

我們可以用自己的喜好和擅長的語言寫腳本來完成以下功能

  • Milestone 結束提醒

    獲取當前 Milestone;

    統(tǒng)計所有 SRE 成員的 issue 個數;

    自定義消息發(fā)送到 Slack。

  • Auto release issue 提醒

    獲取當時的 On-caller;

    獲取創(chuàng)建 Auto release 的 issue 模版;

    創(chuàng)建 issue,Assign 給 On-caller;

    自定義消息內容發(fā)送到 Slack,@ On-caller。

3. 實現效果

Slack 通知消息如下:

  • Milestone 結束消息通知 ??

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

  • Auto release 消息通知 ??

解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線

以上只是使用極狐 GitLab 的一小部分自動化功能,極狐 GitLab 給開發(fā)者或運維人員都提供了非常大的空間來實現各自需要的自動化工作流,只需掌握一些簡單的編程技巧就能實現豐富多彩的結果,期待你的探索與分享。

參考


  1. Slack 通知服務配置

  2. 消息變量

  3. 計劃流水線文章來源地址http://www.zghlxwxcb.cn/news/detail-442398.html

到了這里,關于解鎖極狐GitLab 自動化功能:Webhook 觸發(fā) Pipeline 與計劃流水線的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Jenkins+gitlab實現自動化部署

    Jenkins+gitlab實現自動化部署

    Jenkins 是一個用 Java 編寫的開源自動化工具,帶有用于持續(xù)集成的插件。用于持續(xù)構建和測試您的軟件項目,從而使開發(fā)人員更容易將更改集成到項目中,并使用戶更容易獲得新的構建。它還允許您通過與大量測試和部署技術集成來持續(xù)交付軟件。 Jenkins 集成了各種開發(fā)生命

    2024年02月21日
    瀏覽(27)
  • 【Jenkins+Gitlab自動化部署配置】

    以下為整理當初參照的博客 阿里云云服務器 ECS 手動搭建GitLab避坑教程 博客文中的鏡像源地址已換 Gitlab忘記root用戶密碼的解決辦法 Gitlab學習筆記(一):基于Ubuntu的gitlab的私有服務搭建(超詳細) Jenkins 構建報錯:Couldn‘t find any revision to build. Verify the repository and branch conf

    2024年02月21日
    瀏覽(50)
  • Gitlab自動觸發(fā)jenkins完成自動化構建
jenkins

    Gitlab自動觸發(fā)jenkins完成自動化構建 jenkins

    ?首先安裝gitlab插件,我已經安裝過了,首次請在 可選插件 中進行搜索。 ? 進入項目配置--構建觸發(fā)器: Build when a change is pushed to GitLab. GitLab webhook URL: 請復制此處的URL,后續(xù)有用。 ?然后點擊高級 ? “Allowed branches”觸發(fā)分支可以用默認的全部分支,也可以選擇僅由指定名

    2024年02月16日
    瀏覽(30)
  • Jenkins結合gitlab自動化持續(xù)集成

    Jenkins結合gitlab自動化持續(xù)集成

    大家好,我是自動化測試老司機~ 最近在公司有負責搭建自動化測試環(huán)境,自動化腳本寫好后,毋庸置疑是需要將自動化腳本進行持續(xù)集成測試,能夠根據企業(yè)的定制化需求,通過Jenkins觸發(fā)執(zhí)行構建任務,定時執(zhí)行自動化腳本等,今天就給大家介紹一下Jenkins結合gitlab進行自動

    2024年02月11日
    瀏覽(27)
  • Gitlab+Jenkins自動化部署,解放雙手

    Gitlab+Jenkins自動化部署,解放雙手

    ? 在部署項目前需要對源碼進行打包,一個簡單的SpringBoot項目默認是打包為jar包,也就是在pom.xml中的 packagingjar/packaging 方式,當然也會有一些打包成war包方式,使用外置的Tomcat應用服務器部署war包,那么就是 packagingwar/packaging 。 在父子類聚合項目中,父工程的 pom.xml 文件中

    2024年02月07日
    瀏覽(32)
  • 記錄使用gitlab實現Docker自動化部署

    記錄使用gitlab實現Docker自動化部署

    目錄 前言 一、gitlab-runner docker安裝 二、gitlab-runner的注冊與使用 1.注冊 2. .gitlab-ci.yml 腳本編寫 總結 前面搭建了gitlab與harbor ,現在就使用它們來實現自動化docker部署。所謂自動化部署,就是提交代碼到指定分支時自動觸發(fā)預先寫好的腳本,來實現打包,推送鏡像。想要實現這

    2023年04月11日
    瀏覽(14)
  • 智能手機還是不夠智能?這些事情交給自動化來做吧:1、使用MacroDroid實現安卓自動解鎖

    智能手機還是不夠智能?這些事情交給自動化來做吧:1、使用MacroDroid實現安卓自動解鎖

    智能手機還是不夠智能?這些事情交給自動化來做吧:1、使用MacroDroid實現安卓自動解鎖 現在的手機系統(tǒng)、app確實已經很好用了,但有時候也有在特定的時間,重復做一些特定的操作的需求,比如搶券搶票、做任務等,費時費力,體驗不好。所以,如果能自動化的完成這些事

    2024年02月17日
    瀏覽(19)
  • AI已經解鎖自動化能力 | 顛覆商業(yè)模式和勞動力市場

    AI已經解鎖自動化能力 | 顛覆商業(yè)模式和勞動力市場

    ?AI已經解鎖自動化能力,將顛覆商業(yè)模式和勞動力市場。目前AutoGPT的開源項目: BabyAGI、Auto-GPT、AgentGPT、TeenagerAGI、Jarvis。 AutoGPT原理: 3個GPT4協(xié)同合作,一個GPT4負責分解目標創(chuàng)建任務,另一個GPT4負責分配任務創(chuàng)建優(yōu)先級,再一個GPT4負責執(zhí)行任務寫入內存。未來完善后的

    2023年04月21日
    瀏覽(18)
  • 【git】2、gitlab CICD 模型部署自動化

    【git】2、gitlab CICD 模型部署自動化

    GitLab 是一個用于倉庫管理系統(tǒng)的開源項目,使用 Git 作為代碼管理工具,并在此基礎上搭建起來的 Web 服務。 安裝方法是參考 GitLab 在 GitHub 上的 Wiki 頁面。Gitlab 是被廣泛使用的基于 git 的開源代碼管理平臺, 基于 Ruby on Rails 構建, 主要針對軟件開發(fā)過程中產生的代碼和文檔進

    2024年02月04日
    瀏覽(47)
  • Jenkins + Gitlab 實現項目自動化構建及部署

    Jenkins + Gitlab 實現項目自動化構建及部署

    ? 通俗來講就是本地項目 push 到 gitlab 后, Jenkins 能夠識別到項目的更新并自動構建部署; ?本文以實際操作的方式來表述詳細配置過程及避開配置 Jenkins 時的坑. 默認電腦已經安裝了虛擬機, 默認gitlab 上已經有了你想要部署的項目, 部署了 maven 和 jdk 并配置了環(huán)境變量!!! 1 執(zhí)行

    2024年02月16日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包