我有一个 spring-boot maven 应用程序,我一直在本地运行:
mvn spring-boot:run
我希望能够在 GitLab 运行程序中运行它,以便当我将代码推送到 master 时,它会自动复制最新的代码并运行应用程序。
我的 GitLab 运行程序现在已配置为 shell 模式,并且我在 .gitlab-ci.yml 文件内有一个运行该任务的部署任务:
mvn spring-boot:run
我遇到的问题是应用程序启动后,我可以看到它正在运行......但它从未显示为成功或已完成。它只是卡在那里(因为当您执行该命令时终端仍在运行?)
问题是,是否应该运行一组备用命令来让我的 spring-boot 应用程序在每次推送到 master 时更新和运行?我应该将什么放入我的 gitlab-ci.yml (或其他文件)中。请注意,我没有使用 docker 或 kubernetes...只是 shell。
示例 gitlab CI:
run-deploy:
stage: deploy
script:
- mvn $MAVEN_CLI_OPTS spring-boot:run
尝试 nohup 也失败。
- nohup mvn $MAVEN_CLI_OPTS spring-boot:run &
最佳答案
我相信您可以使用 run
阶段来实现此目的。它看起来像
run:
stage: run
script:
- mvn $MAVEN_CLI_OPTS spring-boot:run
您可以查看 here 的示例.
确保您还定义了 stages
以将 run
包含为文档状态
If no
stages
are defined in.gitlab-ci.yml
, then thebuild
,test
anddeploy
are allowed to be used as job’s stage by default. (see stages)
您在上面提供的示例文件是整个配置文件还是只是其中的一个片段?如果是这样,我可以调整我的答案以满足您的需求。谢谢!
关于java - 如何使用 GitLab runner 运行 spring-boot 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316911/