持续集成
来源: |
时间:2018-11-09
|
|

设置持续集成

为JHipster应用程序设置持续集成(CI)比使用典型的Spring MVC应用程序更困难,因为维护由2个软件堆栈组成的构建相关的复杂性:

  • 使用Maven或Gradle的Java后端代码

  • 带有NodeJS,NPM或Yarn的JavaScript前端

每个堆栈都有自己的依赖关系管理(Maven工件,NPM包),可能会解决潜在的冲突。

JHipster应该支持开箱即用的以下CI系统:

运行子发电机

要生成这些配置文件,请在项目文件夹中运行以下命令:

jhipster ci-cd

然后回答所有问题。

您想要生成什么CI / CD管道?

要生成的CI / CD管道:

  • 詹金斯管道

  • Azure管道

  • GitLab CI

  • 特拉维斯CI

注意:选择Jenkins管道时,src/main/docker/jenkins.yml将生成一个新文件。所以你可以通过运行来测试本地的Jenkins:

docker-compose -f src/main/docker/jenkins.yml up -d

你想在Docker容器中执行构建吗?(Jenkins / GitLab)

如果安装了Docker,则可以在Docker容器中执行构建。

在GitLab CI中,在docker容器中执行构建(提示:GitLab.com使用Docker容器)?(GitLab)

如果您使用私有GitLab CI,则可以直接使用跑步者。

如果您使用官方GitLab.com管道,则需要使用Docker容器。

您想将构建状态发送给GitLab吗?(詹金斯)

如果您的Jenkins依赖于GitLab存储库,则可以将构建状态发送给GitLab。您的Jenkins必须正确配置。

您想要包含哪些任务/集成?

  • 将您的应用程序部署到Artifactory

  • 使用Sonar分析您的代码

  • 构建并发布Docker镜像

  • 部署到Heroku(需要在CI服务上设置HEROKU_API_KEY)

将您的应用程序部署到Artifactory(Jenkins / GitLab)

  • Artifactory:快照的distributionManagement的ID是什么?

  • Artifactory:快照的distributionManagement的URL是什么?

  • Artifactory:发布版本的distributionManagement的ID是什么?

  • Artifactory:发布版本的distributionManagement的URL是什么?

使用Sonar分析您的代码

  • 声纳:声纳服务器的名称是什么?

选择Jenkins配置中定义的Sonar服务器的名称。

  • 声纳:Sonar服务器的URL是什么?

  • 声纳:声纳服务器的组织是什么?

在这里,您可以选择将Sonar Analyze推送到SonarCloud.io在这种情况下,您必须添加SONAR_TOKEN环境变量。

构建并发布Docker镜像

  • Docker:Docker注册表的URL是什么?

默认情况下,您可以使用Docker Hub:https//registry.hub.docker.com

  • Docker:Docker注册表的Jenkins凭证ID是什么?

默认情况下,您可以使用: docker login

  • Docker:Docker注册表的组织名称是什么?

部署到Heroku

  • * Heroku:你的Heroku应用程序的名称?

您必须添加HEROKU_API_KEY环境变量。

注意:在使用Heroku部署之前,需要在本地使用Heroku子生成器它将创建持续集成工具所需的所有文件。

有关环境变量的文档:


J

提交
查看更多评论
没有更多评论