Ich habe eine CICD-Bitbucket-Pipeline, die ausgeführt wird und versucht, ein Bereitstellungsskript auszuführen.
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 &
Ausgabe
about to deploy to osgi-app (jboss) ...
Must be connected to a terminal.
Wie Sie sehen, osgi-deploy.sh
wird die Datei ausgeführt und versucht, ein zu starten screen
. Da sie jedoch von einem externen Prozess (AWS CodeDeploy) ausgeführt wird, wird angezeigt, dass sie gestartet wird Must be connected to a terminal
. Wenn ich sie osgi-deploy.sh
von einer CLI aus ausführe, funktioniert sie wie erwartet.
Ich habe versucht, den Bildschirm mithilfe des Parameters abzutrennen -d
, aber das funktioniert nicht.