HeW*_*eks 5 amazon-web-services amazon-elastic-beanstalk .net-core aws-code-deploy aws-codepipeline
我正在尝试构建一个基本的 dotnet 核心应用程序,并使用 AWS 中提供给我的默认工具进行部署。我目前有以下步骤工作:
签入在运行 yml 文件(它创建我实际运行 Web 应用程序所需的正确文件)的 Ubuntu 映像“aws/codebuild/dot-net:core-2.1”上触发 CodeBuild 构建步骤:
version: 0.2
phases:
build:
commands:
- dotnet restore CMS/CMS.csproj
- dotnet build CMS/CMS.csproj
- dotnet publish CMS/CMS.csproj -o site
artifacts:
files:
- CMS/site/**/*
- CMS/aws-windows-deployment-manifest.json
Run Code Online (Sandbox Code Playgroud)aws-windows-deployment-manifest.json:
{
"manifestVersion": 1,
"deployments": {
"aspNetCoreWeb": [{
"name": "CMS",
"parameters": {
"appBundle": "./site",
"iisPath": "/",
"iisWebSite": "Default Web Site"
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
它可以很好地完成每个步骤,并且我在整个过程中都得到绿色复选标记,但是当我导航到 EB 实例时,仍然显示原始站点,这表明我的应用程序尚未部署。有什么我想念的吗?
我真的希望我能够从签入到完成部署应用程序,而无需修改构建环境,至少现在是这样。
小智 7
这是我为从 CodeBuild 创建 beanstalk 包而编写的 buildspec.yml。
version: 0.2
phases:
build:
commands:
- dotnet restore EbCiTest/EbCiTest.csproj
- dotnet build EbCiTest/EbCiTest.csproj
- dotnet publish EbCiTest/EbCiTest.csproj -o ./staging/app
- cp ./EbCiTest/aws-windows-deployment-manifest.json ./EbCiTest/staging/.
artifacts:
files:
- '**/*'
base-directory: 'EbCiTest/staging'
Run Code Online (Sandbox Code Playgroud)
我认为您遇到的问题是正在创建的 zip 文件包含文件的完整路径,因此 aws-windows-deployment-manifest.json 不在 zip 文件的根目录中。我建议将所有内容复制到暂存文件夹,然后使用该暂存文件夹作为基目录,该目录将成为 zip 文件的根目录。
| 归档时间: |
|
| 查看次数: |
2244 次 |
| 最近记录: |