服务连接用于管理和统一配置流水线运行过程中需要访问的外部系统资源或服务的连接信息。通过服务连接,流水线能够以标准化的方式获取所需的密钥、证书或配置信息,避免手动配置的复杂性和安全隐患。
应用场景
服务连接广泛应用于多种流水线场景,包括但不限于:
代码仓库连接:绑定 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进行连接测试,如果检测不通过,意味着无法正常使用,请根据检测结果针对性的进行排查。