Asp.net核心+ AWS Elastic Beanstalk + Bitbucket管道

时间:2018-12-10 12:13:23

标签: amazon-elastic-beanstalk bitbucket-pipelines

我们如何使用bitbucket管道在AWS Elastic beantalk上更新asp.net核心网站?

1 个答案:

答案 0 :(得分:1)

我知道这是个迟来的答案,但几天前我做过同样的事情,所以这是我如何做的例子

首先,您必须在bitbucket中启用管道,然后选择.NET CORE。 在bitbucket-pipelines.yml中,您需要编写如下内容:

图片:microsoft / dotnet:sdk 管道: 分支机构: 分期: - 步: 名称:构建发布准备和压缩 快取: -dotnetcore 脚本: -apt-get更新&& apt-get安装-是zip -导出PROJECT_NAME = -dotnet还原 -dotnet建立$ PROJECT_NAME -dotnet发布-自包含-运行时win-x64-配置发布

      - zip -j site.zip /opt/atlassian/pipelines/agent/build/<your-project-name>/bin/Release/netcoreapp2.0/win-x64/publish/*  -x aws-windows-deployment-manifest.json
      - zip -r -j application.zip site.zip /opt/atlassian/pipelines/agent/build/<your-project-name>/bin/Release/netcoreapp2.0/win-x64/publish/aws-windows-deployment-manifest.json 
    artifacts:
      - application.zip

 - step:
    name: upload to elasticbeanstalk
    script:
      - pipe: atlassian/aws-elasticbeanstalk-deploy:0.5.0
        variables:
          APPLICATION_NAME: '<application-name>'
          AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
          AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
          AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
          #COMMAND: 'upload-only'
          ZIP_FILE: 'application.zip'
          ENVIRONMENT_NAME: '<environment-name>'
          WAIT: 'true'

在设置->管道->变量中,您必须设置aws键:访问将由$($ AWS_SECRET_ACCESS_KEY)使用的密钥和区域

此外,您还必须创建s3bucket“ -elsticbeanstalk-deployments”(如果不创建它,则当环境尝试上载zip时,它将显示错误,并显示存储桶名称为“ not found”的错误,因此只需复制名称并在s3中创建)