【问题标题】:from gitlab ci/cd to AWS EC2从 gitlab ci/cd 到 AWS EC2
【发布时间】:2020-10-30 15:10:58
【问题描述】:

我已经有一段时间没有尝试找出真正简单的方法了。

我正在使用 gitlab CI/CD 并希望将构建的数据从那里移动到 AWS EC2。问题是我发现了 2 种方法,它们都是非常糟糕的想法。

  1. 在 gitlab ci/cd 上构建项目,然后 ssh 进入 AWS,再次从那里拉项目,然后运行 ​​npm 脚本。这确实是错误的,我不会详细说明原因。
  1. 我看到了以下内容:How to deploy with Gitlab-Ci to EC2 using AWS CodeDeploy/CodePipeline/S3,但它又大又复杂。

难道没有更简单的方法可以将构建的文件从 gitlab ci/cd 复制到 AWS EC2 吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 continuous-integration gitlab gitlab-ci


    【解决方案1】:

    我也使用 Gitlab,对我有用的是在 EC2 实例上配置我的跑步者。想到几个选项:

    1. 我建议管理您自己的跑步者(与共享跑步者相比)和 授予他们在 S3 中删除构建文件并拥有您的 实例从那里挑选。您可以从 以您的实例为目标的跑步者(最好是通过标签),他们会 下载构建的文件。
    2. 您还可以查看 S3 通知。我用它们来触发 对象上传的 Lambda 函数:它非常快并且提供 重试机制。然后 Lambda 可以将 SSM 命令推送到 实例。 https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

    【讨论】:

    • 我需要在 AWS 上安装什么,以便实例从 S3 中选择文件?
    • 您需要在实例上安装 SSM 代理,一些 AMI 已经预先安装了它。代理将轮询到 Systems Manager 服务的命令。更多信息在这里:docs.aws.amazon.com/systems-manager/latest/userguide/…。该调用也是异步的,因此您必须轮询脚本结果。该实例还需要 S3 存储桶的 GetObject* 权限。
    猜你喜欢
    • 2021-03-28
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2021-03-21
    • 2020-07-03
    • 2022-08-10
    • 1970-01-01
    相关资源
    最近更新 更多