2015-11-18 52 views
5

Vorrei creare un flusso di lavoro di integrazione continuo utilizzando Jenkins + BitBucket + Docker + Python.Jenkins + Docker

Ecco tutti i passaggi che immagino:

  1. Il codice python spinta app utente con unità di test e un Dockerfile.
  2. BitBucket aggancia un lavoro su jenkins
  3. Jenkins clona il repository.
  4. Jenkins crea il file Docker.
  5. Jenkins esegue i casi di test di esecuzione dell'immagine mobile. I miei test case sono ancorati.
  6. Se tutti i test passano, Jenkins spinge l'immagine in Docker Hub.

È un buon approccio?
Qualcuno ha esperienza nel fare questo? Qualcuno ha link/documenti per aiutarmi?

risposta

0

È un ottimo approccio. Hai già risposto alla tua stessa domanda. Quindi è chiaro per te che questo è un approccio supportato da Docker.

Un suggerimento: quando si desidera ospitare la propria applicazione (forse in una fase successiva), si consiglia di utilizzare OpenShift V3 di Red Hat Docu.

Questa piattaforma funziona anche con Docker. È possibile eseguire Jenkins in un contenitore Docker. È possibile configurare questo Jenkins per eseguire build-test-deploy della propria applicazione. La tua applicazione verrà distribuita in un altro contenitore Docker. È possibile utilizzare i webhook, scalare l'applicazione e garantirne l'alta disponibilità.

0

Utilizzando Jenkins con Python e Git su Docker

questo era un problema che ho dovuto affrontare e ho pensato di provare a risolverlo robusto. Jenkins è fantastico ma quando vuoi spostarlo su un altro sistema ti rendi conto di quanto bagaglio hai creato installando un servizio dopo l'altro su cui si basa. Disaccoppiarlo con Docker è un'ottima scelta, ma quella che fa barebone è quella di Jenkins, molto semplice.

Dockerfile

My article spiegando la dockerfile e come utilizzare o estenderlo

ho parlato come estenderlo verso la fine, ma la soluzione esplicita sarebbe quella di modificare la linea che ho citato da:

ENV BASE_APKS="sudo openssl openssh-client zip ttf-dejavu maven ruby" \ 

a

ENV BASE_APKS="sudo openssl openssh-client zip ttf-dejavu maven ruby python" \ 

E quindi ricostruire utilizzando

docker build -t mycompany/jenkins . 
Problemi correlati