AWS CodeDeploy — необходимо подключение к терминалу

AWS CodeDeploy — необходимо подключение к терминалу

У меня есть конвейер 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параметра, но это не сработало.

Связанный контент