【问题标题】:How to download the lambda package from a repository (instead of s3 or local directory) and deploy it using terraform如何从存储库(而不是 s3 或本地目录)下载 lambda 包并使用 terraform 部署它
【发布时间】:2021-04-22 03:36:18
【问题描述】:

我可以使用null_resource(curl 命令)下载包。但是只有当我们执行terraform apply 时才会下载。我还需要在terraform plan期间下载包,这样才能使用正确的source_code_hash,如果源代码有任何变化,也可以上传包。

还有什么方法可以在plan 期间从 artifactory 下载包吗?

或者我们是否可以随时更新 lambda 部署包?

【问题讨论】:

  • 你不能把publish设置为true吗?这样如果有变化你会得到一个新的 Lambda 版本?

标签: aws-lambda terraform terraform-provider-aws


【解决方案1】:

如何将您的 terraform 管道拆分为构建、发布管道。构建管道将生成工件,您可以将构建工件上传到某个工件存储库,而发布管道将下载该工件并在其上运行 terraform init/plan/apply。 下面是用于构建、发布 Lambda 的示例 Azure DevOps 任务:

- task: NuGetToolInstaller@1
  displayName: 'Use NuGet 4.4.1'
  inputs:
    versionSpec: 4.4.1



- task: DotNetCoreCLI@2
  displayName: 'Build Lambdas'
  inputs:
  projects: '**/*.Lambda/*.csproj'
  arguments: '--configuration $(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: Publish Lambdas
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**/*.Lambda/*.csproj'
    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'

【讨论】:

    猜你喜欢
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    相关资源
    最近更新 更多