在复制到s3存储桶之前,我如何压缩工件,这是因为beantalk需要更新zip文件而完成的。 我想在beantalk中部署dotnet发布代码。当新的更改推送到gitlab存储库时,我正在使用Gitlab CI / CD触发构建
在我的.gitlab-ci.yml文件中,正在做什么
在这里,我能够执行步骤3以外的所有步骤。任何人都可以帮助我压缩发布的文件夹并将该zip复制到s3存储桶。请在下面找到我的相关代码:
build:
image: mcr.microsoft.com/dotnet/core/sdk:3.1
script:
- dotnet publish -c Release -o /builds/maskkk/samplewebapplication/publish/
stage: build
artifacts:
paths:
- /builds/maskkk/samplewebapplication/publish/
deployFile:
image: python:latest
stage: deploy
script:
- pip install awscli
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region us-east-2
- aws s3 cp --recursive /builds/maskkk/samplewebapplication/publish/ s3://elasticbeanstalk-us-east-2-654654456/JBGood-$CI_PIPELINE_ID
- aws elasticbeanstalk create-application-version --application-name Test5 --version-label JBGood-$CI_PIPELINE_ID --source-bundle S3Bucket=elasticbeanstalk-us-east-2-654654456,S3Key=JBGood-$CI_PIPELINE_ID
- aws elasticbeanstalk update-environment --application-name Test5 --environment-name Test5-env --version-label JBGood-$CI_PIPELINE_ID````
答案 0 :(得分:0)
我得到了这个问题的答案,我们可以简单地运行一个 zip -r ../published.zip *
这将创建一个zip文件,并且可以将该zip文件夹上传到s3。
请告知我们是否还有其他更好的解决方案。