我有一个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 &"
答案 0 :(得分:0)
从这行image: maven:3-jdk-8
看
就像您在Docker容器中运行作业一样,因此当作业完成时,容器将被销毁,并且所有正在运行的进程都将被杀死。
您应该直接在主机上运行该作业(假设您运行自己的gitlab运行程序)
,或者更好的做法是将jar文件复制到另一台机器上并在其中运行。
P.S。 (您可能想将罐子上传到某些工件存储库。)
答案 1 :(得分:0)
只需移至CentOS即可解决此问题。