【问题标题】:Writing an appspec.yml File for Deployment from GitHub to AWS CodeDeploy编写 appspec.yml 文件以从 GitHub 部署到 AWS CodeDeploy
【发布时间】:2015-08-04 00:38:56
【问题描述】:

我想这样做,以便对我们的 GitHub 存储库的提交自动将代码(使用 CodeDeploy)部署到我们的 EC2 实例。我不清楚 appspec.yml 文件中“文件”部分下的“源”条目使用什么。我找到了一些使用本地 git repo 的示例,但我想知道是否有人可以帮助我?

提前感谢您的帮助!

【问题讨论】:

    标签: amazon-web-services github aws-code-deploy


    【解决方案1】:

    appspec.yml 将source 文件(和脚本)的所有路径都指向归档包的根目录。 destination 路径以系统根目录为根。

    此 appspec.yml 会将所有文件从归档包的 foo 目录递归复制到系统上的 /www/foo-app/

    files:
      - source: /foo
        destination: /www/foo-app/
    

    有关 appspec.yml 文件的更详细参考,请参阅 http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.htmlhttp://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-add-appspec-file.html

    【讨论】:

    • 谢谢乔纳森。这与我试图弄清楚的内容相符。我已经看过 AppPSpec 参考指南上的文档,但我不太明白你所说的“归档包的根”是什么意思。如果我在 GitHub 上有一个名为“CodeRepo”的存储库,并且我想从“CodeRepo”的“src”目录中获取一个文件,我会在我的 AppSpec 文件的“源”部分放什么?
    • 当主机代理下载你的 repo 时,repo 的根目录是存档根目录(GitHub 会生成一个中间存档)。因此,从您的 repo 的 src 目录中获取文件,您需要在 appspec.yml 中使用 /src/
    【解决方案2】:

    您是否考虑过使用 CodePipeline?它完全符合您的要求。

    您可以在代码管道中指定 github 源,当有提交时,它可以部署到您的“代码部署”舰队。当然,您可以使用管道做更多事情。

    http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html

    希望这会有所帮助。

    【讨论】:

    • snannapa,感谢您的回复。 CodePipeline 是我正在寻找的工作流程的绝佳选择。问题是我仍然面临与上述相同的问题。 CodePipeline 可以使用 CodeDeploy 来摄取我的 GitHub 代码,但是我如何告诉它将代码部署到哪里呢?据我所知,这可以在 AppSpec 文件中完成,但我不知道如何构建“文件”部分。
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 2021-10-12
    • 2018-09-16
    • 2021-08-24
    • 1970-01-01
    • 2016-08-25
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多