У меня проблема с запуском shell-скрипта, который в основном фиксирует изменения в каталоге в удаленном git-репозитории из другого скрипта.
«Супер-скрипт» запускается с разрешениями суперпользователя, и у меня есть необходимые ssh-ключи, сгенерированные в ~ / .ssh / в домашнем каталоге моего суперпользователя. Кроме того, автономный запуск внутреннего скрипта работает нормально и отправляется в удаленный репозиторий.
Это ошибка, которую я получаю при запуске суперскрипта:
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 326 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To git@url.goes.here:groupspace/projectspace.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@url.goes.here:groupspace/projectspace.git'
и я вызываю внутренний скрипт с этой строкой кода, сохраняя его exit-status для дальнейшей обработки
SUCCESS = $(bash /path/to/push-config.sh)
Это содержимое push-config.sh
#!/bin/bash
#
stamp=$(date +"%Y-%m-%d %T")
git add .
git commit -m "Config $stamp"
if [ $? -eq 0 ]
then
git push -u origin master
if [ $? -eq 0 ]
then
echo "Successfully pushed config to repo."
exit 0
else
echo "Failure while pushing to repo."
exit 1
fi
else
exit 1
fi
Любая помощь приветствуется, спасибо заранее.