Come impostare un ambiente di sviluppo per java in unix per ciascuno dei membri del team


In precedenza ho lavorato su Ruby on Rails. Noi, tutti gli sviluppatori utilizzati per tirare l'ultima immagine da docker. Una volta che la finestra mobile è installato e funzionante, siamo stati in grado di fare lo sviluppo a livello locale. Una volta che le modifiche al codice sono state fatte, abbiamo usato per spingere al nostro rispettivo ramo git e una volta unito, abbiamo usato per distribuire alla produzione. L'applicazione è stata ospitata su Heroku.

(Come si può vedere tutti gli sviluppatori utilizzati per lavorare sulla propria copia locale. La configurazione del database Postgress e i dati fittizi erano già impostato per locale)

Ora come nuovo avvio, stiamo usando java, spring, hibernate, quartz.

Vogliamo avere un'architettura simile impostata come ho discusso all'inizio.

Stavo cercando una soluzione in Google. Molti autori e articoli hanno suggerito di utilizzare jenkins e github, ma nessuno degli articoli ha menzionato un processo di configurazione dell'ambiente dev completo, in modo che ogni sviluppatore possa lavorare in modo indipendente.

Obiettivo principale -

  1. Ogni sviluppatore deve ottenere la sua copia locale e il suo lavoro su di essa (Java)
  2. Database preconfigurato localmente
  3. Scarica dati fittizi
  4. Processo di distribuzione (qual è il miglior servizio di hosting per app java come heroku per rails)

Obiettivo finale:- Un nuovo joinee viene eseguito uno script di shell e l'intero ambiente di sviluppo è impostato per lui e può iniziare a contribuire al progetto lo stesso giorno.

Quale database dovrebbe essere utilizzato con java considerando che è una startup, le prestazioni e il costo del database e l'affidabilità con Java? (Mysql o posstgresql o qualsiasi altro)

Quale sistema operativo dovrebbe essere utilizzato di nuovo considerando che è un avvio, le prestazioni del database, i costi e l'affidabilità con Java? (Ubuntu o Windows, attualmente siamo su Ubuntu)

Qual è la soluzione migliore(passo dopo passo) per impostare l'intero ambiente di sviluppo indipendente per ogni sviluppatore durante l'utilizzo di java, spring, hibernate, quartz tecnologie ?

Author: user3677291, 2017-02-26

1 answers

Risponderò a quello che abbiamo fatto in una precedente startup in cui ho lavorato. Ha funzionato bene per noi, forse ci sono altre alternative migliori.

  • Postgres è un buon db.
  • Abbiamo usato Centos per la produzione in modo Fedora localmente, quindi sarà la stessa famiglia linux. Ad ogni modo non vedo alcun motivo per utilizzare Windows per lo sviluppo.
  • È possibile utilizzare hibernate per creare lo schema db e le tabelle dalle entità java pojo.
  • Abbiamo avuto script che pre-popolare alcune tabelle con desiderato valore. Ad esempio tabella utenti.
  • Tutti gli script sono stati integrati per essere eseguiti eseguendo comandi maven.
  • Abbiamo usato script per creare il dev env, con la configurazione del proxy httpd apache locale e molte altre cose. Può essere piuttosto complicato.
  • Abbiamo usato Artifactory per contenere e memorizzare nella cache gli artefatti maven attuali e precedenti, sia del nostro prodotto che delle nostre dipendenze maven.
  • Per quanto riguarda il quarzo, non dovrebbe essere un problema. Si noti che c'è un'integrazione di primavera con quarzo, usare.
  • Abbiamo usato Gitlab locale come repository.
  • Abbiamo usato Jenkins ospitato in locale per il nostro CI.
 0
Author: yishaiz, 2017-02-27 09:08:23