日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

代碼源觸發

本文介紹如何配置流水線代碼源觸發,以及代碼源觸發事件和過濾條件。

配置代碼源觸發

開啟代碼源觸發,配置WebHook后,在相應的代碼地址和分支上提交代碼后就可以觸發流水線的運行了。

云效 Codeup 開啟代碼源觸發

  1. 在 Flow 流水線,點擊編輯流水線,點擊編輯代碼源。

  2. 點擊 開啟代碼源觸發,Flow 會自動將 Webhook 地址插入到云效 Codeup 相應代碼庫中。

image

image

其他代碼類型開啟代碼源觸發

  1. 進入目標Flow流水線編輯頁,單擊編輯代碼源。開啟代碼源觸發,并復制對應的Webhook。

    image

  2. 將復制的Webhook地址配置到相應的代碼庫中。云效支持Gitlab、Github、Gitee、通用Git代碼倉庫類型開啟代碼源觸發,各類型代碼倉庫配置Webhook方法參考如下。

    Gitlab 配置 Webhook

    訪問Gitlab的代碼庫地址,選擇代碼庫 > Settings > Integrations將流水線復制的 WebHook 添加到 URL 中。

    高的 (24)

    Github 配置 Webhook

    訪問 Github 的代碼庫地址,選擇代碼庫 > Settings > Webhooks,單擊 Add Webhook,將 Flow 流水線上復制的 Webhook 地址填入 Payload URL中,Content Type 選擇 application/json

    高的 (25)

    Gitee 配置 Webhook

    訪問碼云 Gitee的代碼庫地址,選擇代碼庫 > Settings > Webhooks,將 Flow 流水線復制的 Webhook 地址添加到 URL 中。

    通用 Git 配置 Webhook

    以Gitlab為例,訪問Gitlab的代碼庫地址,選擇代碼庫 > Settings > Integrations,將流水線復制出來的 WebHook 添加到 URL 中。

    SVN 配置 Webhook

    1. 在編輯流水線頁面開啟代碼源觸發,復制Webhook地址。

      高的 (26)

    2. 在SVN服務端版本庫的hooks目錄下是一些鉤子腳本模板,每一個對應一個事件,使用時去掉后綴。

      image.png

    3. 以post-commit為例,post-commit就是一個Shell腳本,將期望的操作編寫進該腳本內,SVN檢測到代碼有變更后(包括提交代碼、創建分支和創建tag操作),就回來執行該腳本。下面是示例腳本,代碼提交觸發Flow流水線運行:

      #!/bin/sh
      
      # 倉庫的路徑和提交的修訂號作為參數傳遞給腳本
      REPOS="$1"
      REV="$2"
      
      # 獲取發生變更的目錄列表
      CHANGED_DIRS=$(svnlook dirs-changed -r "$REV" "$REPOS")
      
      # 假設倉庫的分支結構遵循標準的格式(branches/分支名),那么可以從輸出中解析分支名
      FIRST_CHANGED_PATH=$(echo "$CHANGED_DIRS" | head -n 1)
      
      # 使用sed來提取分支名。這里假設路徑遵循 "branches/分支名" 的結構
      BRANCH_NAME=$(echo $FIRST_CHANGED_PATH | sed 's#.*/\(branches/.*\)/#\1#')
      
      # 編寫curl命令請求流水線提供的webhook地址:webhook地址替換為自己流水線里提供的,請求數據按照下面的示例編寫
      curl --location --request POST 'http://flow-openapi.aliyun.com/scm/webhook/MwfQPTyf4nif2UdWBooR' \
      --header 'Content-Type: application/json' \
      --data-raw "{
        \"ref\": \"refs/heads/$BRANCH_NAME\",
        \"repository\": {
          \"clone_url\": \"svn://8.142.XX.XXXcom/svn/repos/demo\"
        }
      }"

觸發事件

可以使用 觸發事件 配置來對代碼源Webhook事件進行過濾。 不同代碼源支持的觸發事件如下:

阿里云Code

云效Codeup

通用Git

Github

Gitlab

Coding

Bitbucket

自建Gitlab

SVN

代碼提交

?

?

?

?

?

?

?

?

?

Tag創建

?

?

?

?

?

?

?

?

?

合并請求新建/更新

?

?

?

?

?

?

?

?

?

合并請求完成后

?

?

?

?

?

?

?

?

?

代碼提交從本地 push 分支到遠程分支(或在代碼管理平臺的Web端進行文件修改),例如從本地的master push到 origin/master。Flow 會將 push 的目標分支與過濾條件進行匹配,如果匹配成功,則會觸發流水線,并使用 push 的目標分支作為流水線運行時使用的分支。

Tag創建從本地 push tag 到服務端 tag(或在代碼管理平臺的 Web 端進行 Tag 創建),例如將本地的tag release/0.0.1 push 服務端。Flow 會將 push 的目標 Tag 名稱與過濾條件進行匹配,如果匹配成功,則會觸發流水線,并使用目標 Tag 作為流水線運行時使用的代碼版本。

合并請求新建/更新在代碼管理平臺的 Web 端創建合并請求,Codeup 支持此類事件。例如從遠程的 dev 分支(源分支)發起一個合并請求到 master 分支(目標分支)。Flow 會將合并請求的目標分支與過濾條件進行匹配,如果匹配成功,則會觸發流水線,并使用源分支作為流水線運行時使用的分支。

合并請求完成后與合并 合并請求新建/更新 相比唯一的差別是:Flow 使用目標分支作為流水線運行時使用的分支。

過濾條件

分支或標簽過濾

代碼提交觸發的過濾條件支持正則表達式。 可以輸入一個普通分支,比如master或者dev。也可以使用Java語言支持的正則表達式語法,以下是幾個示例:

  • 如果想匹配多個分支,比如 master 和 dev,可以輸入master|dev。

  • 如果想匹配以 feature 開頭的分支,可以輸入^feature.*。

代碼路徑過濾

通過配置代碼路徑過濾,可以對不同代碼源觸發事件的代碼路徑進行過濾,目前僅支持 CodeUp 代碼源 Push 事件。當代碼源觸發事件發生時,只有代碼路徑過濾規則下的代碼發生更新時,才可以觸發流水線運行,填寫過濾條件支持正則表達式。例如:過濾條件為auth-srv/.*時,僅當auth-srv目錄下的代碼有更新時才會觸發流水線運行。