Devo eseguire il backup delle dipendenze gradle su git?

3

Mi piace sempre il backup delle dipendenze del progetto da solo nel caso in cui non possano essere risolti a causa di un sito web inattivo o perché alcune versioni non sono più disponibili per il download.

Dovrei avere fiducia che il repository centrale di Maven sia attivo e funzionante quando provo a costruire il mio progetto nel 2020? O dovrei eseguire il backup delle dipendenze manualmente?

Se dovrei fare il backup del manuale, allora dove riserva le dipendenze scaricate? O il gradle è dotato di una build in soluzione per questo?

    
posta Rolf ツ 02.02.2015 - 11:06
fonte

2 risposte

5

Per i miei progetti importanti cerco di avere un backup di quanto segue:

  • Dipendenze per tutte le versioni.
  • Pacchetti di installazione e istruzioni per tutti gli strumenti importanti, come IDE e compilatori (utilizzati per creare l'applicazione).

Il loro salvataggio nel sistema di controllo della versione non è la cosa giusta, in quanto non è stato creato per archiviare grandi blob. Invece uso l'unità di progetto di backup.

Soluzione automatizzata con Nexus

Per le dipendenze centrali (e comparabili) di maven hai anche un'altra opzione. Ho fatto questo in passato con Maven, ma può anche essere fatto con Gradle. La soluzione è eseguire Nexus come cache. Invece di scaricare direttamente le tue dipendenze da Maven Central, devi dire a Gradle di scaricare da Nexus, che a sua volta può essere impostato per scaricare le dipendenze da un repository centrale, memorizzando nella cache le risorse nel processo.

Come notato da Sleske nei commenti: Assicurati che la cache non venga automaticamente pulita da Nexus. Inoltre, quanto segue avrà l'ulteriore vantaggio che altri utenti locali saranno in grado di scaricare le dipendenze localmente (quindi possibilmente più veloce).

    
risposta data 03.03.2015 - 16:32
fonte
2

In primo luogo, non sei solo con queste domande e nella nostra azienda ho provato a rispondere a queste domande una dozzina di volte. Ecco le mie risposte:

Should I backup gradle dependencies to git?

No, non nel repository git. A mio parere, un repository di origine dovrebbe essere il più piccolo possibile, perché non mi piace eseguire il checkout di un repository per ore.

Anche se potrebbe essere buono fare il backup in ogni caso, ma come?

Ho risolto questo problema semplicemente creando una zip di una sandbox funzionante e le dipendenze scaricate:

./gradlew -g ./backuped_USER_HOME build
cd ..
<zip Project>

Se vuoi costruire il tuo progetto devi semplicemente decomprimerlo e usare la directory USER_HOME salvata di

./gradlew -g ./backuped_USER_HOME --offline build

dove --offline potrebbe essere superfluo.

ATTENZIONE: se disponi di obiettivi personalizzati, devi eseguirlo direttamente o implicitamente poiché altrimenti gradle non scaricherà le dipendenze necessarie per le attività personalizzate.

    
risposta data 03.03.2015 - 13:51
fonte

Leggi altre domande sui tag