如何从codebuild并行部署多个shell脚本?

问题描述 投票:0回答:1

因此,当我推送到存储库时,我现在有一个由代码管道触发的代码构建。

这些文件有一个.sh文件,一个buildspec.yaml文件以及一个包含1到n个文件夹的文件夹,每个文件夹都有自己的.sh文件,这些文件随后将在文件夹内部署cloudformation资源。

deploy.sh
buildspec.yaml
Folder
|
|-- Directory1
|   -- deploy.sh
|   -- template.yaml
|
|-- Directory2
|   -- deploy.sh
|   -- template.yaml
|
|-- Directory3
|   -- deploy.sh
|   -- template.yaml

当前,第一个.sh文件只是一个for循环,它将进入每个目录并依次运行.sh脚本。

我正在尝试使此过程并行而不是顺序。由于子文件夹的数量可能未知,因此可能是一个漫长的过程,我不希望它等待先前的资源。

有人在这方面有建议和经验吗?我进行了一些搜索,但未在测试中找到任何结论。

amazon-web-services shell aws-codepipeline aws-codebuild
1个回答
0
投票

在主脚本中,只需循环所有sub-deploy.sh并在后台运行它们,并在字符串末尾添加&:

$directory/deploy.sh &

在主脚本的末尾写

wait
echo "all sub-deploy processes are finished"
© www.soinside.com 2019 - 2024. All rights reserved.