2016-08-01 18 views
2

Ich bin neu bei Jenkins und Docker beide. Ich arbeite zurzeit an Projekt, wo ich Benutzern erlaube, Jobs zu jenkins einzureichen. Und ich frage mich, ob es eine Möglichkeit gibt, docker auf dem dynamisch hochgefahrenen Jenkins-Server zu verwenden und alle Benutzerjobs, die von meiner Anwendung kommen, auf diesen Server umzuleiten und dann diese jenkins zu zerstören, sobald die Arbeit erledigt ist. Ist es möglich? wenn ja, wie? wenn nein, warum? Außerdem muss ich Maven für diesen Jenkins-Server einrichten, brauche ich einen anderen Container dafür?Wie konfiguriert man Jenkins in Docker?

+0

Sie können mit diesem offiziellen Repo von Jenkins in Docker beginnen. Ziehen Sie einfach dieses Bild und verwenden Sie https://hub.docker.com/_/jenkins/ –

+0

Ich tat das, ich versuche zu verstehen, wie man es konfiguriert Könnten Sie etwas dazu beitragen? –

+0

konfigurieren Sie sagen Build-Jobs? –

Antwort

1

Sie können Folgendes versuchen, aber ich kann nicht garantieren, dass es so einfach ist, Ihren jenkins-Inhalt von Ihrem dedizierten Server in Ihren Andock-Container zu verschieben. Ich habe es vorher nicht versucht.

Aber die Hauptsache ist das Folgende.

  • Erstellen Sie eine Sicherung des Inhalts Ihrer dedizierten Server jenkins tar
  • Erstellen Sie eine benannte Docker Lautstärke mit:

    $ docker volume create --name jenkins-volume 
    
  • Extract Ihre jenkins-backup.tar in Ihrem Docker Volumen. Dieses Volumen ist in /var/lib/docker/volumes/jenkins-volume/_data

    $ sudo tar -xvpzf jenkins-backup.tar -C /var/lib/docker/volumes/jenkins-volume/_data/ 
    
  • Jetzt können Sie Ihren jenkins Container starten und sagen es die jenkins-Volumen zu verwenden. Verwenden Sie das jenkins-image, das dieselbe Version wie die dedizierten jenkins ist.

    $ docker run -d -u jenkins --name jenkins -p 50000:50000 -p 443:8443 -v jenkins-volume:/var/jenkins_home --restart=always jenkins:your-version 
    

Für mich ist dies den Inhalt unserer jenkins Container auf AWS zu einem jenkins Container auf einem anderen Cloud-Anbietern zu bewegen. Ich habe es nicht für einen dedizierten Server versucht. Aber Sie können nichts von Ihren vorhandenen Jenkins brechen, wenn Sie es versuchen.