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

标签 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)

最终目标:- 新加入者会运行一个 shell 脚本,整个开发环境都为他设置好了,他可以在同一天开始为项目做出贡献。

考虑到它是一个初创公司,Java应该使用哪种数据库,数据库的性能和成本以及Java的可靠性?(Mysql或posstgresql或任何其他)

考虑到它是一个初创公司,数据库的性能和成本以及 Java 的可靠性,应该再次使用哪个操作系统?(Ubuntu 或 Windows,目前我们使用 Ubuntu)

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

最佳答案

我将回答我们在我之前工作过的一家初创公司中所做的事情。对我们来说效果很好,也许还有其他更好的选择。

  • Postgres 是一个很好的数据库。
  • 我们使用 Centos 进行生产,因此本地使用 Fedora,因此它将是相同的 Linux 系列。无论如何,我看不出有任何理由使用 Windows 进行开发。
  • 您可以使用 hibernate 从 java pojo 实体创建数据库架构和表。
  • 我们有一些脚本可以用所需的值预先填充某些表。例如。用户表。
  • 所有脚本均已集成,通过执行 Maven 命令来运行。
  • 我们使用脚本来创建开发环境,并配置本地 apache httpd 代理和许多其他内容。它可能非常复杂。
  • 我们使用 Artifactory 来保存和缓存当前和以前的 Maven 工件,包括我们的产品和 Maven 依赖项。
  • 对于Quartz来说,应该不是问题。请注意,Spring 与 Quartz 集成了,请使用它。
  • 我们使用本地 Gitlab 作为我们的存储库。
  • 我们在 CI 中使用了本地托管的 Jenkins。

关于java - 如何为每个团队成员在unix中设置java开发环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42471804/

相关文章:

java - 如何将 Spring 的所有属性注入(inject)到 bean 中?

java - 无法在java中重新绘制

oracle - ORA-12519,TNS :no appropriate service handler found

hibernate - Grails:无法将数据库状态与 session 同步

java - Spring Rest 客户端实现 : Could not extract response: no suitable HttpMessageConverter found for response type with xstreamMarshaller

java - 如果在依赖 jar 中,message.properties 的类路径是什么

java - 如何导航到 .java 文件而不是 .class 文件,其中在类路径中指定了源路径?

java - 如何使用 TFS 和变量功能替换 .config 文件中的值?

hibernate - @ManyToOne(fetch = FetchType.LAZY) 不适用于非主键引用的列

spring-mvc - spring mvc模板项目maven插件报错