服務串連用於管理和統一配置流水線運行過程中需要訪問的外部系統資源或服務的串連資訊。通過服務串連,流水線能夠以標準化的方式擷取所需的密鑰、認證或配置資訊,避免手動設定的複雜性和安全隱患。
應用情境
服務串連廣泛應用於多種流水線情境,包括但不限於:
代碼倉庫串連:綁定 Codeup,自動完成 RAM 授權,無需寫入程式碼帳號密碼或額外授權。
Packages 串連:綁定 Packages,自動完成 RAM 授權。
鏡像倉庫串連:關聯私人鏡像倉庫,自動完成
docker login。Kubernetes 叢集串連:綁定叢集憑證,流水線直接調用
kubectl完成變換。
服務連線類型
流水線 Flow支援建立以下類型的服務串連:
類別 | 產品 |
阿里雲服務 |
|
代碼服務 |
|
其他服務 |
|
建立服務串連
在流水線 Flow控制台,單擊全域設定,然後單擊服務串連管理。
在服務串連管理頁面,單擊建立或建立服務串連。
說明在當前頁面無服務串連時只顯示建立按鈕,已有服務串連時在右上方顯示建立服務串連按鈕。
選擇服務連線類型,以雲效Codeup為例,單擊下一步。
在建立服務串連對話方塊中,配置以下選項:
服務串連名:支援自訂服務串連名稱。
服務串連 ID:支援自訂,一般保持預設即可。
服務授權/認證:單擊建立將自動產生服務授權/認證。在服務授權/認證下拉框中選擇已有憑據,或單擊+ 建立建立新的授權憑據。
說明如果需要建立非阿里雲服務的服務串連,您需要手動輸入使用者名稱、令牌/密碼建立認證。
如果因成員離職等原因導致的服務串連失效問題,可通過佈建服務串連中的服務授權/認證完成修改,無需重複修改流水線中的配置。
使用範圍:設定該服務串連的使用許可權,支援以下選項:
私密:僅自己可見。
公開:所有人可見。
自訂:指定成員可見。
確認以上配置無誤後,單擊建立。
Github服務串連(Region網站)
本章節所介紹的Github服務串連配置方式,僅適用於雲效Region網站,不適用雲效中心站
雲效 Flow 通過 Github App 與 Github 代碼倉庫建立授權串連,需要在 Github 上建立並安裝 Github App並與 Flow 建立服務串連,具體操作步驟如下:
進入 Github,選擇 頁面,單擊 New Github App。
在 Register new GitHub App 頁面填寫如下資訊:
Github App name:為您的 Github App 取一個名稱。
Homepage URL:可自訂填寫。
Permissions:倉庫許可權開啟 Contents - Read and write 許可權,用於代碼倉庫分支的讀寫。
單擊 Create Github App 建立應用。
應用建立成功後進入應用 General 頁,擷取 Github App 的
Client ID,單擊 Generate a private key 會產生一個以private-key.pem結尾的檔案,儲存後可以使用文字編輯器開啟查看 (請妥善儲存,後續與 Flow 建立授權串連時需要使用)。私密金鑰內容樣本如下:
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAgiCCYTPSvYLq0w5pC7tH2gXnR++kcoB1DjY6XDCRZ1yhqZZY nSpLFfusXUtb1gu64V1igLcWy24yiV7aIM3yLw3tcCXGx5HjFXRdNUulJ1LuPeFm E/WHs+Ifew0NprKUB1Dlxxx/TvVxxx8PNY6cP6OF6YUKHRxylYIxQ6lh D8DfRQZcnOkfHDjWxxx...xxx4RqtlIGHkIWI ZJXzdMVPJ11CfcA01pTYbfD/1zepeDj0i0SPRSkcvOp6ggynSmiK6sEnAp34Cxr5 uuctk1biJ4AVs/fb+8gam2FYEYCcj5Il177LHQIDAQABAoIBAERES00p+Hl4GTab 37cfbZ0lLsuE9B4mOdJ0HDMGIjKxzwU4GVLnt72Yge/l33IivtjUGqt5zKHRFGJf N3RWb8pF8nNAFWXbup3PVd+e/SSseIFIOyfbLJsYL7223TV5D0FoOFMgeZks0Jn4 ep6N0x6u4xF6RTNvAFGcWxSXZ7tqHPO3u8UNCgxVhT42/MhuixNz2SkfWbNc134y 2k791mxCxDrJ2TUA3pmhmGwx4LZpxZqls4LU5/visx4LVEnHQBkJltNcGJl2sa4Z zzIFUBOubEasxVAVPxxx...xxxK/rcDzFm0Qrlu PQbmbkECqYEA3wJg+5AJ+pSB+GIE/SuqkZltmblxxxtokMzMmXR6AJrGvFm /Bsh9NkJlivUFA35+VN9/WwTDaF7Mp+d8aT9BaGePTmuR4q8ySEWMVYiZ0MJAaJA 5GK5fvjb6EAqozE3KuuGN0/XTKsnw3mNZc/QUK9Cs6AnBv0fSPu0KPUCqYEAw0tk a/pX9NNaYI8MPXzc0B3amrR7/p7SYgiwONESj3q090od3I7sGNCPyE0yqDy2ImC7 5jSe6dGwdHxqrIF8DiIkKJHtIbAFDxkerm0KibD0PzrMdTBMLMrR/VNsij9w7Aov +LiGi4dr40s33UkxFNsoYFxGv0BIHiG7em6zYIkCqYEApo0ea5a61vcCwHuli9nt APuWDLm4GaWcqkm0HK1Mvv3mIS4FGWYdNqtvzGpuzRHG1n6lI3UjOvH6jBqCbIdg oPlH8HeAN0klh8xxx...xxxCtQ4LtC400gldcEC Qn5MlaJ21LcFzSMdxBoJSS0CgYASErsTZxKWvKyDfRmD4zdIJ0sgwA0tjiMoIW2h xG90ScXPWI805yEgVsTHos043413dv5MmpgOSXKMBSuWFVGWursv6flJAdImCIwX VXjIL03GXDmpqr0R/Z8bU4oa7S4VGghAe0swozavzTk5SFm7dWCyMif2/Vbv0u3v saj2CQKBqOCcMokki1iJK2SrhTa3LT/KFRjylAMkyYmTU6gyz0GCWXKUkHVNOBvE lkPq17iIRA2pG5kDOSlNnkLkFic04m/tIsyfPQpdHNcd1WFEn18Zjb+on/mqTwED nPhnrk0LV4MAx200qCvNiZ8tNpw7f3pZqF90krvkZ1hzURqnBmAGnA== -----END RSA PRIVATE KEY-----
進入應用 Install App 頁,選擇需要授權的帳號/組織安裝應用,選擇授權的倉庫範圍後單擊 Install,安裝成功後可在目標帳號/組織擷取
INSTALLATION_ID。擷取方式為查看瀏覽器地址欄 URL 末尾的數字,URL 路徑格式為
https://github.com/organizations/{組織名}/settings/installations/{INSTALLATION_ID}。
進入雲效 Flow,選擇 頁面,單擊 建立服務串連,選擇 Github 服務連線類型,建立 Github 認證,填入上述擷取的
Cilent ID、Private key、Installation ID資訊後建立認證並建立服務串連。填寫服務串連名,並設定使用範圍(可選私密:僅自己可見、公開:所有人可見、自訂:指定人員可見,預設為私密)。
建立流水線,添加代碼源,選擇上述建立好的 Github 服務串連,即可擷取相應代碼倉庫和分支;流水線運行時即可執行複製代碼、分支合并/刪除等操作。
串連僅內網訪問的自建Gitlab
如果企業的自建Gitlab僅提供內網訪問方式,無法開放公網訪問,並且也希望使用下拉式功能表的互動形式來使用代碼源,那麼請使用雲效Region站(雲效中心站暫不支援)。
首先需要在雲效控制台啟用VPC網域名稱,並且添加反向訪問IP,也就是Gitlab網站對應的IP,具體操作請參考:網路設定
建立代碼服務串連時請選擇自建 Gitlab(API V4及以上版本)
建立一個服務授權/認證,勾選Gitlab網域名稱只能通過內網訪問,這時需要選擇Gitlab所在的VPC與對應的內網IP,並且正確填寫Gitlab的內網網域名稱和帳號密碼
頁面提供了檢測串連的按鈕,可以對內網Gitlab進行串連測試,如果檢測不通過,意味著無法正常使用,請根據檢測結果針對性的進行排查。