Eu tenho um pipeline CICD Bitbucket que é executado e tenta executar um script de implantação.
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 &
Saída
about to deploy to osgi-app (jboss) ...
Must be connected to a terminal.
Como você pode ver, o osgi-deploy.sh
arquivo é executado e tenta iniciar um screen
, porém por estar sendo executado a partir de um processo externo (AWS CodeDeploy), ele diz isso Must be connected to a terminal
. Se eu executar osgi-deploy.sh
a partir de uma CLI, ele funcionará conforme o esperado.
Tentei separar a tela usando o -d
parâmetro, mas não funcionou.