如何为每个团队成员在unix中设置java的开发环境

时间:2017-02-26 17:32:01

标签: java hibernate spring-mvc docker quartz-scheduler

之前我曾在Ruby on Rails上工作过。 我们所有的开发人员都习惯从docker中提取最新的图像。 一旦docker启动并运行,我们就可以在本地进行开发。 一旦代码更改完成,我们就会推送到我们各自的git分支,一旦合并,我们就会部署到生产环境。 该应用程序托管在Heroku上。

(正如您所看到的,所有开发人员都习惯使用自己的本地副本。已经为本地设置了Postgress数据库配置和虚拟数据)

现在作为一个新创业公司,我们正在使用java,spring,hibernate,quartz。

我们想要像我在开始时讨论的那样设置类似的架构。

我在谷歌寻找解决方案。许多作者和文章建议使用jenkins和github,但没有一篇文章提到完整的开发环境设置过程,每​​个开发人员都可以独立工作。

主要目标 -

  1. 每位开发人员必须获取他/她自己的本地副本并使用它(Java)
  2. 本地预配置数据库
  3. 转储虚假数据
  4. 部署过程(适用于java应用程序的最佳托管服务,如heroku for rails)
  5. 终极目标: - 一个新的joinee来运行一个shell脚本,整个开发环境都是为他设置的,他可以在同一天开始为项目做贡献。

    哪个数据库应该与java一起使用,因为它是一个启动,数据库的性能和成本以及与Java的可靠性?(Mysql或posstgresql或任何其他)

    应该再次使用哪个操作系统,因为它是一个启动,数据库的性能和成本以及与Java的可靠性?(Ubuntu或Windows,目前我们在Ubuntu上)

    使用java,spring,hibernate,quartz技术为每个开发人员设置完整的独立开发环境的最佳解决方案(一步一步)是什么?

1 个答案:

答案 0 :(得分:0)

我会回答我们曾在之前创业过的工作。为我们工作得很好,也许还有其他更好的选择。

  • Postgres是一个很好的数据库。
  • 我们使用Centos进行生产,因此在本地使用Fedora,因此它将是同一个Linux系列。无论如何,我认为没有理由使用Windows进行开发。
  • 您可以使用hibernate从java pojo实体创建db模式和表。
  • 我们有脚本预先填充某些具有所需值的表。例如。用户表。
  • 通过执行maven命令集成所有脚本以运行。
  • 我们使用脚本来创建dev env,配置本地apache httpd代理和许多其他东西。这可能很复杂。
  • 我们使用Artifactory来保存和缓存当前和以前的maven工件,包括我们的产品和maven依赖项。
  • 至于Quartz,它应该不是问题。请注意,Spring与Quartz集成,使用它。
  • 我们使用本地Gitlab作为我们的回购。
  • 我们使用本地托管的Jenkins作为CI。