Я использую gitlab, gitab-ci, и я довольно новичок в непрерывной интеграции. Я пытаюсь протестировать и развернуть поверх сценария bash на пушах кода.
вот так выглядит мой .gitlab-ci.yml, где при развертывании я пытаюсь сменить пользователя, но не получится
before_script:
- composer install --prefer-dist > /dev/null
stages:
- build
- test
- deployunitTesting:
stage: test
script:
- echo "Running PHPUnit Tests"- php vendor/bin/phpunit --colors --debug --coverage-text
job_deploy_master:
stage: deploy
only:
- master
script:
- /bin/su - myuser -c "deploy.sh" //here I try to change linux user to be able to checkout code but fails with **su: must be run from a terminal**
tags:
- php
и здесь у меня есть bash, который должен вытащить коды на производственной площадке, если тесты проходят
#!/bin/bash
echo "Starting Deploy"printf '%s\n' "${SUDO_USER:-$USER}" //I'm interested to see which user try to run this script outputs gitlab-runner
cd /home/builds/gpx-convertor
git pull
composer install --prefer-dist > /dev/null
Я пытался найти в Google несколько примеров, связанных с php, но безуспешно. Может кто-нибудь показать, как это должно работать
Попробуйте заменить su -c на sudo -Hu
Других решений пока нет …