Domanda

Ho creato un piccolo software ingegneria ambiente (VEDI) per le applicazioni Java che è - tra gli altri strumenti basati su maven e nexus.Il mio vero problema è - non è una vera sorpresa - che il nexus di solito richiede l'accesso a internet per ottenere le richieste di manufatti repository centrali.Ma il VEDERE deve essere rigorosamente off-line e non c'è modo di cambiarlo (..motivi di sicurezza).

La mia prima soluzione rapida era rispecchiare il nexus/maven installazione sulla macchina, che è stato collegato a internet, è necessario eseguire alcuni standard pom a popolare il mirroring nexus e la migrazione di cache tramite CD-ROM per il sistema di destinazione.Abbastanza brutto.Io non sono davvero impaziente di adattare il processo per ottenere gli aggiornamenti per artefatti o nuovi.Siamo, infatti, ora, di solito, basta importare le librerie di cui abbiamo bisogno e creare nuovi manufatti (con nexus) invece di utilizzare quelli ufficiali centrale e gli altri.

Qualcuno ha affrontato la stessa sfida e trovare un modo più intelligente ed efficiente?

Modifica

Grazie per tutte le risposte, penso di essere più precisa sul problema e la soluzione che sto pensando in questo momento:Penso che devo creare, inserire e sincronizzare un privato 'centrale' di repository, basato sul centrale e altri repository su internet, o esattamente:due identici repository.Uno connesso a internet l'altro sulla rete locale.Quindi posso tenere il dispositivo connesso a internet repository 'up-to-date' e copiare le modifiche tramite DVD per il repository locale - che è visibile per Nexus.

Funzionerebbe?C'è della documentazione disponibile sul come impostare qualcosa come 'centrale' su un server privato, c'è un meccanismo per sincronizzare selezionato artefatti?

(non voglio postare il mio pensiero all'inizio, perché speravo di ottenere totalmente diverse idee)

Edit 2 - "best practice" - aggiunto su richiesta

Il nostro "best practice" per l'utilizzo di maven in un ambiente che è del tutto scollegato da internet:

  • Abbiamo installato nexus su un server centrale, in modo che il software di workstation di sviluppo aveva un server di parlare (ed era il nostro manufatto repository)
  • Abbiamo esportato il file POM per una workstation con accesso a internet, hanno eliminato il repository locale sulla macchina e ha fatto un dependency:go-offline (plugin).Questo popolato il repository locale con tutto il necessario per artedfacts
  • Abbiamo importato questa repository locale per l'ambiente sicuro e aggiunto tutti i plugin per nexus (appena copiato il file - la struttura è identica)

Fare questo una volta alla settimana con tutto il POM file (può essere automatizzato) ed è molto stabile e utilizzabile repository locale.

È stato utile?

Soluzione

Funzionerebbe?C'è della documentazione disponibile sul come impostare qualcosa come 'centrale' su un server privato, c'è un meccanismo per sincronizzare selezionato artefatti?

Beh, si potrebbe diventare un specchio di centrale, ma, qual è il punto di cattura di ~10 GB di artefatti?Non si ha bisogno di loro e la solita raccomandazione è di utilizzare un repository manager.

In realtà il mio primo pensiero è stato:

  1. Utilizzare un Nexus collegato ad internet anche fuori sede
  2. rsync il contenuto di questo Nexus su un DVD.
  3. Copiare il contenuto sul Nexus di VEDERE tramite un DVD.
  4. Ripetere periodicamente.

Ho trovato questa soluzione brutto, ma, ora che abbiamo più dettagli sulla tua situazione, potrebbe essere accettabile.

Altri suggerimenti

Una volta ho lavorato in un ambiente di rete in cui una porzione di rete non hanno accesso a internet o qualsiasi altra rete.Ogni volta che avevamo bisogno di aggiornare il software all'interno di questa rete, abbiamo fatto le seguenti operazioni:

  1. caricare il software aggiornato per la "sicura" host (gradino di pietra)
  2. scollegare il passaggio dalla pietra net
  3. collegare gradino di pietra per proteggere net
  4. spingere il software aggiornato al repository
  5. scollegare il passaggio dalla pietra sicuro net

Abbiamo completamente automatizzato questo processo automaticamente la configurazione di uno switch per collegare e scollegare le reti in modo appropriato (quindi non c'era una connessione fisica a tutte le volte, ma non utilizzabile IP di connessione).Forse si potrebbe fare qualcosa di simile, dipende dalla flessibilità della definizione di "disconnesso" ;)

Ho affrontato un problema simile, nel mio ambiente.

Ordinariamente i nostri server di hosting Nexus non sarebbe in grado di accedere a Internet.Tuttavia, ho incontrato con il team di gestione e ha spiegato loro che, permettendo a Nexus per scaricare automaticamente gli artefatti da Internet è un enorme produttività vincere per noi.

Una volta che hanno capito le nostre esigenze, ops ammessi al server per accedere ad un rigoroso whitelist di Internet IPs come il central repository Maven.Quindi dobbiamo ancora passare attraverso ops per aggiungere un nuovo repository o eseguire whitelist correzioni al di fuori della repository di modifica degli indirizzi IP.Ma nel complesso ci è sembrato il miglior compromesso tra sicurezza e produttività e funziona per noi.

Vedere se la tua parti interessate, andrà per la connessione di rete a Internet in un molto limitato whitelist solo modo una volta ribadire come, così facendo, ti permetterà di essere più produttivi e, infine, salvare tutti tempo.

L'Approvvigionamento caratteristiche Nexus Pro sono stati progettati esattamente per gestire questo caso.

Ciò che è materia di Appalti?

Appalti Suite manuale dell'Utente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top