代码之家  ›  专栏  ›  技术社区  ›  MrD

AWS代码管道在部署后运行命令

  •  0
  • MrD  · 技术社区  · 6 年前

    1 回复  |  直到 6 年前
        1
  •  2
  •   bryan60    6 年前

    如果您使用的是代码部署,那么答案就在appspec.yml文件中,该文件提供在部署中的某些生命周期挂钩处执行命令。

    我猜你想要“应用程序启动”挂钩。您可以通过添加一个类似以下内容的节来使用钩子:

    hooks:
      BeforeInstall:
        - location: Scripts/UnzipResourceBundle.sh
        - location: Scripts/UnzipDataBundle.sh
      AfterInstall:
        - location: Scripts/RunResourceTests.sh
          timeout: 180
      ApplicationStart:
        - location: Scripts/RunFunctionalTests.sh
          timeout: 3600
      ValidateService:
        - location: Scripts/MonitorService.sh
          timeout: 3600
          runas: codedeployuser
    

    AWS文件中的代码示例: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-example.html

    deployer代理将在给定的生命周期钩子中运行“location”子句中的命令。正如您所看到的,还有其他选项,它们在代码部署文档中有完整的文档记录。

    如果您将codepippeline与其他部署代理一起使用,最好是询问有关该部署代理的问题或查看他们的文档。管道只是协调一个代码repo、一个构建代理和一个部署代理。它实际上并不自己进行部署或执行部署命令。