Я пытаюсь развернуть приложение java
на экземпляре ec2
с использованием конвейера gitlab-ci
. После копирования файла .jar
он должен начать процесс.
Шаги развертывания следующие:
*deploy:
stage: 'deploy'
image: ubuntu
before_script:
- apt update
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
script:
- scp -r -o StrictHostKeyChecking=no target/file.jar user@ip:/home/ubuntu/jars
- ssh -o StrictHostKeyChecking=no user@ip "sudo pkill -f file.jar"
- ssh -o StrictHostKeyChecking=no user@ip "sudo nohup java -jar -Dspring.profiles.active=dev -Xms100m -Xmx150m /home/ubuntu/jars/file.jar > /home/ubuntu/jars/file.log 2>&1 &"*
В конце задание имеет статус success
, но не запускает процесс.
У вас есть идеи, как я могу решить эту проблему?
Журнал:
$ scp -r -o StrictHostKeyChecking=no target/file.jar ubuntu@ip:/home/ubuntu/jars
Warning: Permanently added 'ip' (ECDSA) to the list of known hosts.
$ ssh -o StrictHostKeyChecking=no ubuntu@ip "sudo ps -ef | grep java"
root 9781 1 1 11:15 ? 00:00:27 java -jar -Dspring.profiles.active=dev -Xms100m -Xmx150m /home/ubuntu/jars/file.jar
ubuntu 9991 9990 0 11:41 ? 00:00:00 bash -c sudo ps -ef | grep java
ubuntu 9993 9991 0 11:41 ? 00:00:00 grep java
$ ssh -o StrictHostKeyChecking=no ubuntu@ip "sudo pkill -f file.jar"
$ ssh -o StrictHostKeyChecking=no ubuntu@ip "sudo nohup java -jar -Dspring.profiles.active=dev -Xms100m -Xmx150m /home/ubuntu/jars/file.jar > /home/ubuntu/jars/file.log 2>&1 &"
$ ssh -o StrictHostKeyChecking=no ubuntu@ip "cd /home/ubuntu/jars; ls"
job
file.jar
file.log
Running after_script
Saving cache
Uploading artifacts for successful job
Job succeeded