服务连接管理

更新时间:
复制 MD 格式

服务连接用于管理和统一配置流水线运行过程中需要访问的外部系统资源或服务的连接信息。通过服务连接,流水线能够以标准化的方式获取所需的密钥、证书或配置信息,避免手动配置的复杂性和安全隐患。

说明

应用交付 AppStack流水线 Flow使用统一的服务连接管理中心,在 Flow 中配置的服务连接可直接复用于 AppStack 的应用部署,反之,AppStack 中定义的服务连接亦可被 Flow 流水线调用。

应用场景

服务连接广泛应用于多种流水线场景,包括但不限于:

  • 代码仓库连接:绑定 Codeup,自动完成 RAM 授权,无需硬编码账号密码或额外授权。

  • Packages 连接:绑定 Packages,自动完成 RAM 授权。

  • 镜像仓库连接:关联私有镜像仓库,自动完成 docker login 。

  • Kubernetes 集群连接:绑定集群凭证,流水线直接调用 kubectl完成滚动更新。

  • ECS 连接:通过 ECS 连接,自动在 ECS 主机安装流水线 Runner,并添加到相应主机组。

服务连接类型

流水线 Flow支持创建以下类型的服务连接:

类别

产品

阿里云服务

  • 云服务器(ECS

  • 容器镜像服务(ACR

  • 容器服务 Kubernetes(ACK

  • 对象存储(OSS

  • 企业级分布式应用(EDAS

  • Serverless应用引擎(SAE

  • 资源编排服务(ROS

  • 阿里云函数计算(FC

  • 移动研发平台(EMAS

  • 弹性伸缩(ESS

  • 云效Packages

    代码服务

    • 云效Codeup

    • 码云

    • Github

    • AtomGit

    • SVN

    • Gitlab

    • 自建 Gitlab

    • 自建Gitlab(API V4及以上版本)

    • 通用Git

    • Bitbucket

    其他服务

    • Jenkins

    • 私有镜像仓库

    创建服务连接

    1. 流水线 Flow控制台,单击全局设置,然后单击服务连接管理

    2. 服务连接管理页面,单击创建新建服务连接

      说明

      在当前页面无服务连接时只显示创建按钮,已有服务连接时在右上角显示新建服务连接按钮。

    3. 选择服务连接类型,以云效Codeup为例,单击下一步

    4. 在新建服务连接对话框中,配置以下选项:

      • 服务连接名:支持自定义服务连接名称。

      • 服务连接 ID:支持自定义,一般保持默认即可。

      • 服务授权/证书:单击新建将自动生成服务授权/证书image

        说明
        • 如果需要创建非阿里云服务的服务连接,您需要手动输入用户名、令牌/密码创建证书。

        • 如果因成员离职等原因导致的服务连接失效问题,可通过配置服务连接中的服务授权/证书完成修改,无需重复修改流水线中的配置。

      • 使用范围:设置该服务连接的使用权限,支持以下选项:

        • 私密:仅自己可见

        • 公开:所有人可见

        • 自定义:指定成员可见

    5. 确认以上配置无误后,单击创建

    Github服务连接(Region站点)

    说明

    本章节所介绍的Github服务连接配置方式,仅适用于云效Region站点,不适用云效中心站

    云效 Flow 通过 Github App 与 Github 代码仓库建立授权连接,需要在 Github 上创建并安装 Github App并与 Flow 建立服务连接,具体操作步骤如下:

    1. 进入 Github,选择 页面,单击 New Github App

      image

    2. Register new GitHub App 页面填写如下信息:

      • Github App name:为您的 Github App 取一个名称。

      • Homepage URL:可自定义填写。

      • Permissions:仓库权限开启 Contents - Read and write 权限用于代码仓库分支的读写。

      • 单击 Create Github App 创建应用。

      image

      image

    3. 应用创建成功后进入应用 General 页,获取 Github App 的 Client ID,单击 Generate a private key 会生成一个以 private-key.pem 结尾的文件,存储后可以使用文本编辑器打开查看 (请妥善保存,后续与 Flow 建立授权连接时需要使用)。

      image

      image

      image

    1. 进入应用 Install App 页,选择需要授权的账号/组织安装应用,选择授权的仓库范围后单击 Install,安装成功后可在目标账号/组织获取 INSTALLATION_ID

      image

      image

      image

    1. 进入云效 Flow,选择 页面,单击 新建服务连接,选择 Github 服务连接类型,新建 Github 证书,填入上述获取的 Cilent IDPrivate keyInstallation ID信息后创建证书并创建服务连接。

      image

      image

    2. 创建流水线,添加代码源,选择上述创建好的 Github 服务连接,即可获取相应代码仓库和分支;流水线运行时即可执行克隆代码、分支合并/删除等操作。

      image

    连接仅内网访问的自建Gitlab

    重要

    自建 Gitlab(API V4及以上版本)支持在管理代码源时,通过下拉菜单来选择代码库和分支,用户体验更好,而且如果Gitlab仅支持内网访问,云效Region站也支持与内网的Gitlab实现集成,兼顾易用性和安全性。

    如果企业的自建Gitlab仅提供内网访问方式,无法开放公网访问,并且也希望使用下拉菜单的交互形式来使用代码源,那么请使用云效Region站(云效中心站暂不支持)。

    1. 首先需要在云效控制台激活VPC域名,并且添加反向访问IP,也就是Gitlab站点对应的IP,具体操作请参考:网络设置

    2. 创建代码服务连接时请选择自建 Gitlab(API V4及以上版本)

    3. 新建一个服务授权/证书,勾选Gitlab域名只能通过内网访问,这时需要选择Gitlab所在的VPC与对应的内网IP,并且正确填写Gitlab的内网域名和账号密码

    4. 页面提供了检测连接的按钮,可以对内网Gitlab进行连接测试,如果检测不通过,意味着无法正常使用,请根据检测结果针对性的进行排查。