Скрипт для сканирования веток и выпуска - PullRequest
0 голосов
/ 02 марта 2019

Моя цель - подключиться к нескольким хостам по ssh, проверить, когда была изменена текущая ветвь, и, если старше 48 часов, пометить хост как доступный.В конце концов, мне нужно запланировать это как работу cron, но я еще не достиг этого уровня.

У меня есть это:

hosts="rick morty beth jerry summer"
extra_vars="release_branch=$1"

show_deployed_branches() {
    for host in $hosts
    do
        if [[ ! -z "$branch_dir" ]]; then
            branchstamp=`$SHELL_AS ssh -o StrictHostKeyChecking=no $host cat $branch_dir/* 2> /dev/null`
            printf " [*] %s:\n%s\n" $host "$branchstamp"
        else
            branchstamp=`$SHELL_AS ssh -o StrictHostKeyChecking=no $host cat $branch_file 2> /dev/null`
            printf " [*] %s: %s\n" $host "$branchstamp"
        fi
    done
}

Это покажет следующее:

 [*] rick: GLIB-1111 on February 28 at 08:30 UTC by Birdman
 [*] morty: BLEM-2371 on February 26 at 16:55 UTC by Birdman
 [*] beth: AVAILABLE
 [*] jerry: DOPE-12 on March 01 at 19:28 UTC by Birdman
 [*] summer: MAIN on March 01 at 18:17 UTC by MrPoopyButthole

Если я хочу сделать Джерри доступным, я запускаю следующее:

release_box(jerry) {
    $SHELL_AS ssh -o StrictHostKeyChecking=no $1 "echo 'AVAILABLE' > $branch_file" 2> /dev/null
    echo " [*] Finished with $1"

Я знаю, что для этого требуется оператор if, но я нахожусь в тупике на следующих шагах.Я знаю, что заявление If необходимо, но не знаю, что прочитает измененную дату и определит, что она слишком старая.

...