Golang应用部署到ECS

本文档会帮助您在云效创建一个 Golang Gin 的代码库, 并发布到阿里云 ECS 服务器。

创建企业
  1. 首次进入云效,会提示您创建企业。

    golang-ecs-1

创建流水线
  1. 进入企业后,从页面顶栏点击【研发】->【流水线】,进入流水线列表。

    golang-ecs-2

  2. 点击右上角【新建流水线】,进入流水线创建向导页面。

    golang-ecs-3

新建代码库

  1. 在源码设置页面中,选择阿里云Code,点击代码仓库右侧【新建代码库】。

    golang-ecs-4

  2. 在弹窗中选择或创建代码组,输入新建代码仓库名称,点击【下一步】。

    golang-ecs-5

  3. 在代码模板中选择 Golang 和 golang-gin-web ,取消勾选【生成Dockerfile】,点击【确认】。您可以点击代码模板图标下的预览按钮查看即将生成的代码库文件内容。

    golang-ecs-6

  4. 代码库创建完成后会恢复到代码库选择页面并回填刚才创建代码库的信息,为了在代码提交时候触发持续集成,打开【开启监听】。然后点击【下一步】。

    golang-ecs-7

编辑流水线

  1. 云效会识别代码库语言并推荐相应流水线模板,使用默认置顶选中的【Go测试、构建、部署到主机】流水线模板,然后点击【创建】。

    golang-ecs-8

  2. 填写流水线名称,点击【下一步】。

    golang-ecs-9

  3. 部署配置。点击阶段【部署】进行部署配置。在任务列表中选择【主机部署】,选择由构建环节产出的待部署【制品】。

    golang-ecs-10

  4. 新建应用。在【应用】下拉框中选择【新建应用】填写应用名称,点击【确认】。

    golang-ecs-11

  5. 新建环境。在【环境】下拉框中选择【新建环境】,填写环境名称,点击【机器配置】。

    golang-ecs-12

  6. 进行机器配置,点击【导入ECS】链接,跳转到导入 ECS 界面。

    golang-ecs-13

导入 ECS 机器

  1. 申请一台阿里云ECS服务器,具体方式参见 ECS 文档,请确保该ECS环境上预装了 go 并有公网IP,或者有SLB与之关联,以便进行功能验证。
  2. 在机器管理页面,点击【导入 ECS】。

    golang-ecs-14

  3. 在弹出框中选择新建 ECS 所在区域,选择实例,点击【导入】。

    golang-ecs-15

  4. 等待大概1分钟左右,刷新页面,可以看到机器状态为【正常】。

    golang-ecs-16

  5. 机器导入后回到【机器配置】页面,点击【刷新】按钮,可以看到刚才导入的机器。

    golang-ecs-17

  6. 选择机器,并将其加入到右侧列表,填写【环境名称】然后点击【确认】保存。

    golang-ecs-18

运行流水线

  1. 此时流水线已经编辑完成,点击右上角的【运行】,即可保存并触发流水线。

    golang-ecs-19

  2. 运行成功。

    golang-ecs-20

查看测试报告

  1. 选中【构建测试】阶段,可以查看单元测试运行日志和【测试报告】。

    golang-ecs-21

查看部署结果

  1. 点击【发布详情】-> 【打开发布单】可以查看部署单。在部署单中可以查看每台机器的部署情况和日志。

    golang-ecs-22

  2. 访问 ECS 的公网 IP 的 8080 端口,可以看到服务运行起来了。

    golang-ecs-23