Gitlab CI在部署阶段不后台JAR文件

时间:2019-09-15 17:59:52

标签: maven continuous-integration gitlab gitlab-ci

我有一个Java项目,要在其中实现Gitlab CI。每次进行提交时,我都希望它(通过maven)编译jar,然后在VPS上启动它,并保持运行直到下一次提交更新为止。

我已经尝试这样做,但是我无法正确完成部署阶段。它运行Jar文件,但将其作为管道的一部分运行,而不是使其后台运行并在VPS上运行。

我的.gitlab-ci.yml

image: maven:3-jdk-8

compile:
    stage: build
    script:
        - "pwd"
        - "mvn compile assembly:single"

deploy:
    stage: deploy
    script:
        - "nohup java -jar target/botaco_rewrite-1.0.0-jar-with-dependencies.jar dev.livaco.botaco_rewrite.Botaco &"

2 个答案:

答案 0 :(得分:0)

从这行image: maven:3-jdk-8
就像您在Docker容器中运行作业一样,因此当作业完成时,容器将被销毁,并且所有正在运行的进程都将被杀死。

您应该直接在主机上运行该作业(假设您运行自己的gitlab运行程序)
,或者更好的做法是将jar文件复制到另一台机器上并在其中运行。

P.S。 (您可能想将罐子上传到某些工件存储库。)

答案 1 :(得分:0)

只需移至CentOS即可解决此问题。