2013-01-30 13 views
5

Esiste la possibilità di utilizzare un application.conf locale con Play 1.2.5? Il nostro problema è che diversi sviluppatori hanno impostazioni leggermente diverse che non vogliamo salvare nel controllo della versione.Local applicationonf con Play 1.2.5?

Alternative trovati:

  • Proprio modificando application.conf
    • devono stare attenti a non commettere modifiche al VCS
  • Ambienti: proprio ambiente per ogni sviluppatore:% John, % mary (salvato in VCS)
    • OK alternativa, anche se vogliamo udn't desidera salvare quelli per il controllo di versione
    • Abbiamo fare cambiare quelle durante lo sviluppo di tanto in tanto -> causerebbe modifiche inutili
  • @include: application.conf opzione per i file di configurazione aggiuntivi

Qualcos'altro?

Soprattutto, c'è un modo per dire Play per utilizzare personalizzato nome del file (come "conf/application.conf.local" invece di default "conf/application.conf "?

+0

per quanto ne so ambienti è possibile solo uno in Play 1. In Play 2 è possibile definire file di configurazione alternativo (s) (anche da remoto) – biesior

risposta

1

ho appena incontrato Giocare 1.x modulo externalconfig che potrebbe aiutare. Sembra funzionare per i nostri scopi. Come extra, questo aiuta a mantenere le password di produzione ecc. Dal VCS.

Si noti che questo modulo funziona solo all'interno del codice Java di Play - I moduli di riproduzione implementati in Python (come migrate, ad esempio) non saranno a conoscenza della configurazione esterna. Potrebbero esserci problemi anche con altri moduli Java che si basano su onConfigurationRead().

1

ho guardato il Play! 1.2.5 il codice sorgente, ma trovare nulla che suggerisce che Gioca! sarebbe in grado di raccogliere qualcosa di diverso il file conf/application.conf.

+0

Cerca in 'play.Play # readOneConfigurationFile', c'è una logica ricorsiva per includere altre configurazioni per le proprietà le cui chiavi iniziano con' @ include. –

1

@include hanno funzionato per il nostro setup in cui importiamo diverse configurazioni di ambiente su Play 1.2.5.

Se la tua squadra è di piccole dimensioni, hanno ogni controllo dev nella propria configurazione ciascuno con la propria user-chiave prefisso:

%[user-key].[property]=[value] 

ogni sviluppatore dovrà poi cambiare messa in gioco con

play run --%[user-key] invece di limitarsi a play run

+0

Usando questo, 'play run' funzionerà direttamente se ogni dev esegue' play id' nella loro sandbox? –

+1

funzionerebbe finché si avranno i valori di default ragionevoli impostati in application.conf. – Theo

6

È possibile aggiungere:

%[email protected]=my_application.conf 

Alla fine di application.conf. Una riga per sviluppatore o ambiente.È possibile sovrascrivere alcune proprietà in my_application.conf e non è necessario anteporre% my_play_id alle proprietà modificate. Per esempio, se si dispone di tre sviluppatori:

%[email protected]=developer1_conf.conf 
%[email protected]=developer2_conf.conf 
%[email protected]=developer3_conf.conf 
0

Quello che facciamo è creare una configurazione application.template per il VCS che ha la configurazione Recomended (invece del application.conf reale).

In questo modo ogni sviluppatore è responsabile di creare il proprio application.conf e di migliorare il modello nel VCS.

In questo modo nessuno ha problemi con la configurazione di distribuzione e la configurazione degli altri sviluppatori.

Se si desidera la versione controllare la configurazione della distribuzione basta aggiungere questo alle versioni con tag del vostro VCS

approccio