Yas*_*lan 5 bitbucket amazon-web-services aws-cloudformation devops bitbucket-pipelines
我有一个 Bitbucket 管道,它使用 cloudformation 创建 AWS 资源并将网站部署到其中。但即使 cloudform 正确创建堆栈,部署也会失败。我认为问题是当部署发生时,cloudformation S3 存储桶创建可能尚未完成。
我有一个 Hugo 网站,并且创建了一个 bitbucket 管道以将其部署到服务器。它的作用是使用 cloudformation 创建 S3 存储桶来托管网站,然后将 Hugo 网站上传到其中。当我在终端中手动运行管道中的步骤并在每个步骤之间有延迟时,它会成功发生。但是当它发生在 Bitbucket 管道上时,它会给出错误,指出我尝试上传内容的 S3 存储桶不可用。当我检查 AWS 时,该存储桶实际上就在那里。这意味着 Cloudformation 已正常工作。但是当文件开始复制时,存储桶可能无法用于上传文件。这是我的假设。有没有解决这个问题的方法。在本地执行此操作时,我可以在 cloudformation 创建和文件复制这两个命令之间等待。但是在Bitbucket pipeline环境下如何处理呢。以下是我的管道代码。
pipelines:
pull-requests:
'**':
- step:
script:
- aws cloudformation create-stack --stack-name demo-web --template-body file://cloudformation.json --parameters ParameterKey=S3BucketName,ParameterValue=demo-web
- hugo
- aws s3 cp public/ s3://demo-web/ --recursive
Run Code Online (Sandbox Code Playgroud)
如何以正确的方式处理这种情况。对于这种情况有解决方法吗?或者我发现的问题并不是实际问题。
首先,要在 bitbucket 管道中等待,您应该能够仅使用sleep x其中 x 是您想要休眠的秒数。
不同的注意事项 - 请记住,在第一次后续运行之后,部署可能会在下次使用时失败,create-stack如果堆栈已经存在,部署将失败......
| 归档时间: |
|
| 查看次数: |
5777 次 |
| 最近记录: |