Tengo una canalización CICD Bitbucket que se ejecuta e intenta ejecutar un script de implementación.
aplicaciónspec.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 &
Producción
about to deploy to osgi-app (jboss) ...
Must be connected to a terminal.
Como puede ver, el osgi-deploy.sh
archivo se ejecuta e intenta iniciar un archivo screen
, sin embargo, debido a que se ejecuta desde un proceso externo (AWS CodeDeploy), lo dice Must be connected to a terminal
. Si ejecuto osgi-deploy.sh
desde una CLI, funciona como se esperaba.
Intenté separar la pantalla usando el -d
parámetro, pero no funciona.