如何解决部署 dotnet 核心 API 时未保留文件夹结构 背景:问题:
背景:
我已经实施了一个 AWS CodePipeline,用于构建我的 dotnet Core API 并将其部署到 EC2 实例。
流程是这样的。 Source(Github Push)
-> CodeBuild in Linux Container
-> CodeDeploy to EC2 instance
构建进行得很好,当我在 directories
中执行 sub-directories
时,我还可以看到所有 ls
和 buildspec.yaml
。
这是我的buildspec.yaml
version: 0.2
phases:
pre_build:
commands:
- echo Verify dotnet Info
- dotnet --info
- echo Verify Ubuntu Info
- lsb_release -a
- echo Pre Build started on `date`
- ls
- cd Core_API/ps_core_api/
- wget https://download.microsoft.com/download/f/c/1/fc16c864-b374-4668-83a2-f9f880928b2d/dotnet-sdk-2.1.202-linux-x64.tar.gz
- tar zxf dotnet-sdk-2.1.202-linux-x64.tar.gz
- ls
- cd shared/Microsoft.NETCore.App/
- cp 2.0.9 /root/.dotnet/shared/Microsoft.NETCore.App/ -r
- wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb
- dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb
build:
commands:
- echo Verify dotnet Info
- dotnet --info
- echo Build started on `date`
- cd ../..
- ls
- echo Publish started.
- dotnet publish -c release --self-contained true --force -f netcoreapp3.1 -r linux-x64 -o build_output_deploy ps_core_api.csproj
post_build:
commands:
- echo Post Build started on `date`
- echo copy YML file to build_output_deploy.
- cp appspec.yml build_output_deploy
- echo copy beforeInstall script file to build_output_deploy.
- cp beforeInstall.sh build_output_deploy
- echo copy afterInstall script file to build_output_deploy.
- cp afterInstall.sh build_output_deploy
- ls build_output_deploy
artifacts:
files:
- '**/*'
base-directory: 'Core_API/ps_core_api/build_output_deploy*'
discard-paths: no
问题:
当流水线部署到 EC2 实例时,它不会保留文件夹结构。
例如:
我在 build_output_deploy
(这是父级)下有很多 sub-directories
像 download
、wwwroot
等。这些文件夹在部署时没有得到保留,而是我看到这些文件夹中的文件在我的 EC2 实例上。
我的文件夹之一的文件夹结构是 build_output_deploy/downloads/dir1/dir2/1.0.0/some.exe
我在 artifacts
中尝试了不同的变体,但似乎都不起作用,例如:
为此 build_output_deploy/downloads/dir1/dir2/1.0.0/some.exe
我已将 artifacts/files
- '*/some.exe
但是没有用。
请指导我完成它。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。