0

我正在用 JSF 开发一个私有 webapp,它可以通过 Internet 获得,现在我想将 CI(我对它相当陌生)引入整个过程。我当前的项目设置如下所示:

  • myApp-persistence:处理数据库访问(DAO 和休眠的东西)的 maven 项目
  • myApp-core: maven 项目,包含所有 Java 代码(Beans 和 Utils)。它依赖于 myApp-persistence.jar
  • myApp-a:只有前端代码(xhtml、css、JS)的maven项目。依赖于 myApp-core.jar
  • myApp-b:只有前端代码(xhtml、css、JS)的maven项目。依赖于 myApp-core.jar

myApp-a 和 myApp-b 彼此独立,它们只是两个不同平台的核心的不同实例,仅以不同方式显示某些组件或调用不同的 bean-method。

目前我正在手动部署,即使用 eclipse 内置导出作为战争功能,然后手动将其上传到产品上的 Wildfly 服务器的部署目录。我正在使用 BitBucket 进行版本控制,并且最近在 BitBucket 中发现了管道并为每个存储库实现了一个管道(每个项目都是一个单独的存储库)。现在 myApp-persistence 构建得非常好,因为所有依赖项都可以通过公共 maven 存储库访问,但是 myApp-core(因此 myApp-a 和 myApp-b 也是)当然会失败,因为 myApp-persistence 没有发布在中央 maven 存储库上。

  1. 是否可以以某种方式告诉 BitBucket 在 BitBucket 的相应仓库中使用 myApp-persistence.jar?
  2. 如果是,如何?如果包含测试的构建运行良好,我还可以告诉 BitBucket 直接部署到 prod 吗?
  3. 如果不是,那么最好的做法是什么?我正在考虑使用第二个开发服务器(已经可用,所以没什么大不了的)作为 CI 服务器,但我仍然需要一些关于使用哪些工具(Jenkins、artifactory 等)的建议或建议。

一个重要的提示可能是:我是唯一一个在这个项目上工作的人,所以这可能看起来有点矫枉过正,但对我来说,设置它的过程是非常宝贵的经验。也就是说,我不一定要寻找最快的解决方案,而是寻找最专业、最方便的解决方案。

4

1 回答 1

1

从我的角度来看,您可以在这篇文章中找到解决方案 - https://christiangalsterer.wordpress.com/2015/04/23/continuous-integration-for-pull-requests-with-jenkins-and-stash/。它逐步指导您如何设置所有内容。该帖子来自2015年,但过程和想法仍然相同。希望能帮助到你。

于 2017-10-23T13:53:28.893 回答