2017-03-09 7 views
3

ich zusammen mit diesem Tutorial folgende bin:Jenkins Docker Pipelining innerhalb Docker

https://www.linkedin.com/pulse/building-docker-pipeline-cloudbees-jenkins-jay-johnson

Jenkins Ich laufe auf 17 Docker:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkins 

ich die Anweisungen befolgt und ersetzt Berechtigungsnachweise Jay mit meinem eigenen. Ich fügte Global meine Credits hinzu und benannte dann die Creds im Pipelineskript um. Als ich den Build versuchen, obwohl ich die folgende Fehlermeldung erhalten:

Proceeding 
[Pipeline] withEnv 
[Pipeline] { 
[Pipeline] withDockerRegistry 
Wrote authentication to /var/jenkins_home/.dockercfg 
[Pipeline] { 
[Pipeline] stage (Building) 
Using the ‘stage’ step without a block argument is deprecated 
Entering stage Building 
Proceeding 
[Pipeline] sh 
[alfred-master] Running shell script 
+ docker build -t jayjohnson/django-slack-sphinx:testing django 
/var/jenkins_home/workspace/[email protected]/durable-713ce0d7/script.sh: 2: /var/jenkins_home/workspace/[email protected]/durable-713ce0d7/script.sh: docker: not found 
[Pipeline] } 
[Pipeline] // withDockerRegistry 
[Pipeline] } 
[Pipeline] // withEnv 
[Pipeline] } 
[Pipeline] // node 
[Pipeline] End of Pipeline 
ERROR: script returned exit code 127 
Finished: FAILURE 

ich davon aus bin diese sucht die Docker binär.

Wie kann ich ein Docker-Bild aus einem Repo in einem Docker-Container erstellen?

+0

Verwenden Sie einen Container, in dem Docker installiert ist? Den Build auf einem Agenten ausführen, auf dem Docker installiert ist? Führen Sie Jenkins nicht mit Docker? –

Antwort

1

Die Frage ist hier:

/var/jenkins_home/workspace/[email protected]/durable-713ce0d7/script.sh: 2: /var/jenkins_home/workspace/[email protected]/durable-713ce0d7/script.sh: docker: not found

Ich gehe davon aus Build auf der Master-Instanz ausgeführt wird, die nur eine einfache Installation von Jenkins ist - keine zusätzlichen Werkzeuge.

Sie sollten einen Agenten-Slave ausführen und ihn mit Ihrem Master verbinden - dieser Agent sollte sicherstellen, dass Docker installiert ist, und dann können Sie diese Befehle ausführen.

Sie können dies entweder selbst einrichten; oder verwende eine Open-Source-Option - Derzeit verwende ich in meinem eigenen Setup this image, die alles hat, was ich brauche (Nun, persönlich - ich habe es gegabelt und einige meiner eigenen Tools hinzugefügt).