Comment configurer un environnement de développement pour java sous unix pour chaque membre de l'équipe


Plus tôt, j'ai travaillé sur Ruby on Rails. Nous, tous les développeurs utilisés pour tirer la dernière image de docker. Une fois que le docker est opérationnel, nous avons pu faire du développement localement. Une fois les modifications de code effectuées, nous avions l'habitude de pousser vers notre branche git respective et une fois fusionnée, nous avions l'habitude de déployer en production. L'application a été hébergée sur Heroku.

(Comme vous pouvez le voir tous les développeurs utilisés pour travailler sur leur propre copie locale. La configuration de la base de données Postgress et les données factices étaient déjà défini pour local)

Maintenant, en tant que nouvelle startup, nous utilisons java, spring, hibernate, quartz.

Nous voulons avoir une architecture similaire à celle dont j'ai parlé au début.

Je cherchais une solution dans Google. De nombreux auteurs et articles ont suggéré d'utiliser jenkins et github mais aucun des articles n'a mentionné un processus complet de configuration de l'environnement de développement afin que chaque développeur puisse travailler indépendamment.

Objectif Principal-

  1. Chaque développeur doit obtenir sa propre copie locale et travailler dessus (Java)
  2. Base de données préconfigurée localement
  3. Vidage des données factices
  4. Processus de déploiement (quel est le meilleur service d'hébergement pour l'application java comme heroku pour rails)

Objectif ultime:- Un nouveau joinee comes exécute un script shell et tout l'environnement de développement est défini pour lui et il peut commencer à contribuer au projet le même jour.

Quelle base de données devrait être utilisé avec java étant donné qu'il s'agit d'un démarrage, les performances et le coût de la base de données et la fiabilité avec Java? (Mysql ou posstgresql ou tout autre)

Quel système d'exploitation devrait être utilisé à nouveau étant donné qu'il s'agit d'un démarrage, des performances, du coût et de la fiabilité de la base de données avec Java? (Ubuntu ou Windows, Actuel nous sommes sur Ubuntu)

Quelle est la meilleure solution (étape par étape) pour configurer un environnement de développement indépendant complet pour chaque développeur tout en utilisant java, spring, hibernate, quartz les technologies de l'?

Author: user3677291, 2017-02-26

1 answers

Je vais répondre à ce que nous avons fait dans un démarrage précédent où j'ai travaillé. A bien fonctionné pour nous, peut-être il y a d'autres meilleures alternatives.

  • Postgres est une bonne base de données.
  • Nous avons utilisé Centos pour la production donc Fedora localement, donc ce sera la même famille linux. Quoi qu'il en soit, je ne vois aucune raison d'utiliser Windows pour le développement.
  • Vous pouvez utiliser hibernate pour créer le schéma de base de données et les tables à partir de vos entités java pojo.
  • Nous avons eu des scripts qui pré-remplissent certaines tables avec désiré valeur. Par exemple, table des utilisateurs.
  • Tous les scripts ont été intégrés pour s'exécuter en exécutant des commandes maven.
  • Nous avons utilisé des scripts pour créer le dev env, avec la configuration du proxy apache httpd local et bien d'autres choses. Cela peut être assez compliqué.
  • Nous avons utilisé Artifactory pour conserver et mettre en cache les artefacts maven actuels et précédents, à la fois de notre produit et de nos dépendances maven.
  • Quant au quartz, cela ne devrait pas être un problème. Notez qu'il y a une intégration du ressort avec du Quartz, utiliser.
  • Nous avons utilisé local Gitlab comme repo.
  • Nous avons utilisé Jenkins hébergé localement pour notre CI.
 0
Author: yishaiz, 2017-02-27 09:08:23