因此,当我推送到存储库时,我现在有一个由代码管道触发的代码构建。
这些文件有一个.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脚本。
我正在尝试使此过程并行而不是顺序。由于子文件夹的数量可能未知,因此可能是一个漫长的过程,我不希望它等待先前的资源。
有人在这方面有建议和经验吗?我进行了一些搜索,但未在测试中找到任何结论。
在主脚本中,只需循环所有sub-deploy.sh并在后台运行它们,并在字符串末尾添加&:
$directory/deploy.sh &
在主脚本的末尾写
wait
echo "all sub-deploy processes are finished"