Распараллелить скрипт для git потянув несколько репозиториев - PullRequest
0 голосов
/ 11 июня 2018

Когда я прихожу на работу каждое утро, я запускаю скрипт, который извлекает несколько репозиториев, которые использует моя компания:

#!/bin/bash
cd ~/myCompany/rep1
git pull --rebase
git submodule update
cd ~/myCompany/rep2
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep3
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep4
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep5
git pull --rebase
git submodule update
echo "done!"

Как вы можете видеть, нужно создавать разные репозитории, в то время как другим нужно submodule update ии так далее.

Мне было интересно, есть ли способ заставить этот скрипт запускать каждый git pull и их соответствующие команды параллельно, а не одну за другой.Кто-нибудь знает, как я могу достичь такой вещи?

1 Ответ

0 голосов
/ 12 июня 2018

Сделайте это функцией, вызовите функцию в фоновом режиме:

#!/bin/bash
npmBuild() {
    cd $1
    git pull --rebase
    npm install
    npm run build
}
npmBuild ~/myCompany/rep2 &
npmBuild ~/myCompany/rep3 &

Сделайте немного другую функцию для тех, где вы не npm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...