У меня есть конвейер CICD Bitbucket, который работает и пытается выполнить скрипт развертывания.
appspec.yml
version: 0.0
os: linux
files:
- source: scripts/osgi-deploy.sh
destination: /home/jboss
overwrite: true
file_exists_behavior: OVERWRITE
hooks:
AfterInstall:
- location: scripts/osgi-deploy.sh
timeout: 180
runas: jboss
osgi-deploy.sh
echo "about to deploy to osgi-app ($USER) ..."
screen -d -m -R "karaf" bash /home/jboss/scripts/build-start-osgi.sh &
Выход
about to deploy to osgi-app (jboss) ...
Must be connected to a terminal.
Как вы видите, osgi-deploy.sh
файл выполняется и пытается запустить screen
, однако, поскольку он запущен из внешнего процесса (AWS CodeDeploy), он говорит, что Must be connected to a terminal
. Если я запускаю osgi-deploy.sh
из CLI, то он работает так, как и ожидалось.
Я попытался отсоединить экран с помощью -d
параметра, но это не сработало.