【发布时间】:2020-04-10 14:22:58
【问题描述】:
我要做的是使用gitlab-ci 管道在ec2 实例上部署java 应用程序。
复制.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
【问题讨论】:
-
你能分享你得到的堆栈跟踪或错误吗?
-
是的,我已经在帖子里添加了
-
你怎么知道它没有开始这个过程?
file.log中有什么内容? -
我正在手动连接到服务器并检查 file.log,最后几行如下所示:2020-04-10 11:41:40.063 --- [Thread-3] - 已启动关闭... 2020-04-10 11:41:40.100 --- [ Thread-3] - 关闭完成。
-
附上完整的
file.log请
标签: amazon-ec2 ssh devops gitlab-ci gitlab-ci-runner