Gitee 流水线部署阿里云 ECS 全流程:从 RAM 子账号到主机组配置避坑指南

kkcode
kkcode
2026-09-21阅读 14

背景

最近在给项目配置 Gitee 流水线,需要将代码自动部署到阿里云的 ECS 服务器上。在 Gitee 中新建主机组时,卡在了“凭证管理”这一步。经过一番摸索,从阿里云控制台的 RAM 权限配置,到地域 ID 的查找,再到 Gitee 的最终填写,踩了不少坑。

本文将带你从零开始,完整走一遍 Gitee + 阿里云 ECS 安全部署的配置流程。为了安全,我们强烈不建议使用主账号,而是使用 RAM 子账号。整个过程分为四个阶段:创建 RAM 子账号 -> 授予最小权限 -> 获取并配置 Gitee 凭证 -> 新建主机组


一、核心概念:什么是 RAM?

在开始之前,先弄清楚阿里云的 RAM(Resource Access Management,资源访问管理)。你可以把它理解为公司的门禁卡管理系统

  • 主账号:相当于公司大老板,拥有所有权限,风险极高,绝对不能日常使用。
  • RAM 用户(子账号):相当于员工,每人有自己的门禁卡,权限由老板分配。
  • 权限策略:相当于门禁规则,明确规定“谁”在“什么条件下”能访问“哪个房间”。

使用 RAM 子账号遵循最小权限原则,即使密钥不慎泄露,也能将损失降到最低。


二、实战:创建 RAM 子账号与获取 AccessKey

避坑提醒:手机 App 无法创建 AccessKey

很多同学喜欢用手机阿里云 App 操作,但手机 App 目前无法直接创建或查看 AccessKey。请务必使用电脑上的浏览器登录阿里云网页版控制台。

1. 创建 RAM 子账号

  1. 登录 阿里云 RAM 控制台
  2. 在左侧导航栏选择 “身份管理” > “用户”,点击 “创建用户”
  3. 填写登录名称(如 gitee-deploy)和显示名称(如 Gitee部署账号)。
  4. 访问方式:勾选 “使用永久 AccessKey 访问”。因为 Gitee 流水线是程序调用,需要 AccessKey。
  5. 点击确定。验证成功后,系统会生成 AccessKey ID 和 AccessKey Secret。这是你唯一一次看到 AccessKey Secret 的机会!

2. 最关键的一步:立即保存 AccessKey

在“保存结果”页面,立刻点击 AccessKey IDAccessKey Secret 旁边的 “复制” 按钮,将它们粘贴到你的密码管理器或安全的地方。一旦关闭页面,Secret 将永远无法再次查看。


三、配置 Gitee 流水线所需的最小权限

创建完 RAM 用户后,它默认没有任何权限。我们需要给它授权。

  1. 在 RAM 控制台的“用户”列表中,找到刚才创建的用户,点击其右侧的 “添加权限”
  2. 在搜索框中输入并勾选以下系统策略(这是 Gitee 官方建议的最小权限集合):
    • AliyunECSReadOnlyAccess:只读权限,用于读取 ECS 实例信息
    • AliyunECSAssistantFullAccess:管理权限,用于安装云助手、执行命令等。
    • AliyunECSFullAccess:管理权限。注意:此权限较大。如果你追求极致安全,可以创建自定义策略,只授予 Gitee 必需的 6 项操作权限(ecs:DescribeInstancesecs:DescribeInvocationResultsecs:DescribeCloudAssistantStatusecs:InstallCloudAssistantecs:RebootInstanceecs:RunCommand)。
  3. 点击 “确定”,完成授权。

四、在 Gitee 中配置凭证与主机组

回到 Gitee 的“新建主机组”页面,此时你还需要在“凭证管理”里创建凭证。

1. 新建凭证(Gitee 凭证管理)

点击右侧蓝色的“凭证管理”链接,新建凭证,按照以下对应关系填写:

  • 凭证类型:阿里云
  • 凭证名称:自定义,如 my-aliyun-key
  • 凭证 ID:留空,系统会自动生成 UUID
  • AccessKey ID:填入刚才保存的 AccessKey ID
  • AccessKey Secret:填入刚才保存的 AccessKey Secret
  • 地域 ID:填入 cn-hongkong(如果是香港服务器,详见下文)
  • 描述:选填
  • 保存。

2. 填写主机组信息

回到“新建主机组”页面,填写以下三项:

  • 主机组名称:自定义,仅用于展示,如 我的阿里云服务器
  • 主机组标识:系统内部唯一标识,建议使用英文、数字或中划线,不要用中文和空格,如 aliyun-prod
  • 凭证名称:在下拉菜单中选择刚刚创建的凭证(如 my-aliyun-key)。
  • 凭证 UUID:选中凭证后会自动填充。

五、避坑指南:地域 ID 到底在哪里看?

很多同学在阿里云 ECS 控制台找不到“地域 ID”。以中国香港的服务器为例:

  1. 控制台不会直接显示 cn-hongkong,而是显示中文名称“中国香港”。
  2. 在控制台顶部导航栏的右上角,可以看到当前地域是“中国香港”。
  3. 在实例列表或基本信息中,可以看到“中国香港 C”。这里的“中国香港”是地域,“C”是可用区。

结论:

  • 在 Gitee 凭证中填写的地域 ID,直接填写 cn-hongkong 即可。
  • 千万不要填 cn-hongkong-c(这是可用区 ID,填错会导致连接失败)。
  • 如果你在服务器内,也可以通过元数据服务查询最准确的地域 ID:
    curl -s http://100.100.100.200/latest/meta-data/region-id
    

六、常见报错与安全提醒

  1. AccessKey Secret 无法找回:如果创建时没有保存,后续将无法查看,只能重新创建新的 AccessKey。
  2. 密钥数量限制:每个 RAM 用户最多只能拥有 2 个 AccessKey,请妥善管理。
  3. MFA 安全加固:建议在手机上下载阿里云 App,激活 RAM 用户的 MFA(多因素认证),进一步提升账号安全性。
  4. 地域 ID 混淆:再次强调,Gitee 填的是地域(Region),不是可用区(Zone)。

总结

配置 Gitee 流水线部署阿里云,其实就是一个安全换取信任的过程。通过 RAM 子账号和最小权限原则,我们既赋予了 Gitee 管理服务器的能力,又保障了云账号的安全。希望这篇避坑指南能帮你顺利跑通流水线!

如果这篇文章对你有帮助,欢迎点赞收藏,评论区交流你在部署中遇到的坑!

评论数量:0