AWS CodeDeploy - 必須連接到終端

AWS CodeDeploy - 必須連接到終端

我有一個運行並嘗試執行部署腳本的 CICD Bitbucket 管道。

應用程式規格.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檔案已執行並嘗試啟動 a screen,但由於它是從外部進程 (AWS CodeDeploy) 執行,因此它會顯示 it Must be connected to a terminal。如果我osgi-deploy.sh從 CLI 運行它,它會按預期工作。

我嘗試使用-d參數分離螢幕,但這不起作用。

相關內容