поэтому в настоящее время у меня есть кодовая сборка, которая запускается кодовой линией, когда я отправляю sh в свой репозиторий.
Файлы имеют файл. sh, файл buildspe c .yaml и папка, которая содержит от 1 до n папок, каждая из которых будет иметь свой собственный файл. sh, который затем будет развертывать ресурсы облачной информации внутри папки.
deploy.sh
buildspec.yaml
Folder
|
|-- Directory1
| -- deploy.sh
| -- template.yaml
|
|-- Directory2
| -- deploy.sh
| -- template.yaml
|
|-- Directory3
| -- deploy.sh
| -- template.yaml
В настоящее время первый. sh файл является просто для l oop, который будет проходить в каждый каталог и последовательно запускать сценарий. sh.
Я являюсь пытаясь сделать этот процесс параллельным, а не последовательным. Поскольку может быть неизвестное количество дочерних папок, это может быть длительным процессом, и я не хочу, чтобы он ожидал на предыдущих ресурсах.
У кого-нибудь есть и совет / опыт в этой области? Я провел некоторые поиски, но не нашел ничего убедительного в своем тестировании.
РЕДАКТИРОВАТЬ: Основная сборка. sh файл, который запускает для l oop
#!/bin/bash
set -e
PROFILE='new-profile'
aws configure --profile $PROFILE set credential_source EcsContainer
REGION=$AWS_REGION
for directory in *; do
if [ -d ${directory} ]; then
# Will not run if no directories are available
chmod +x $directory/deploy.sh
$directory/deploy.sh -p new-profile &
# cd $directory
# echo $directory
# echo "---------------------------------------------------------------------------------"
# echo "Start deploying $directory resources..."
# echo "---------------------------------------------------------------------------------"
# chmod +x ./deploy.sh
# ./deploy.sh -p new-profile &
# cd ../
# echo "---------------------------------------------------------------------------------"
# echo "End deploying $directory resources..."
# echo "---------------------------------------------------------------------------------"
fi
done
wait
echo "finished deployment"