【问题标题】:Unable to start a java process using a gitlab ci pipeline to deploy on EC2 instance无法使用 gitlab ci 管道启动 java 进程以部署在 EC2 实例上
【发布时间】: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


【解决方案1】:

更新! 使用这个命令它工作得很好!

 - ssh -o StrictHostKeyChecking=no ubuntu@ip "sudo su root -c 'nohup java -jar -Dspring.profiles.active=dev -Xms100m -Xmx150m /home/ubuntu/jars/file.jar > /home/ubuntu/jars/file.log 2>&1 &'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-04
    • 2020-06-14
    • 2021-10-21
    • 1970-01-01
    • 2016-08-08
    • 2021-01-23
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多