Diese Anleitung beschreibt, wie Sie Jenkins mit Docker Compose einrichten, zwei Agenten hinzufügen und eine Pipeline konfigurieren.
- Docker und Docker Compose müssen auf Ihrem System installiert sein.
- Build agent
- Clone repo: https://github.com/jenkinsci/docker-agent
- Run in cloned repo:
docker build -t test:ubuntu -f ubuntu/Dockerfile .
Führen Sie den folgenden Befehl aus, um Jenkins zu starten:
docker-compose up -d
- Admin Passwort abfragen und speicher (kann nach Neustart nicht mehr erhalten werden):
docker compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- Öffnen Sie einen Webbrowser und gehen Sie zu
http://localhost:8060
, um auf die Jenkins-Weboberfläche zuzugreifen. - Folgen Sie den Anweisungen zur Ersteinrichtung von Jenkins.
- Installieren Sie die empfohlenen Plugins.
- Gehen Sie zu Verwalten Jenkins > Verwalten von Nodes und Clouds.
- Klicken Sie auf Neuer Node.
- Geben Sie den Namen
agent-1
ein und wählen Sie Statischer Agent. - Klicken Sie auf OK.
- Füllen Sie das Feld Stammverzeichnis in entferntem Dateisystem mit
./volumes/agent-1
. - Speichern Sie die Konfiguration.
Wiederholen Sie die obigen Schritte für agent-2
, aber verwenden Sie ./volumes/agent-2
als Stammverzeichnis.
- Nach der Erstellung der Agenten wird in der Detailansicht des Agenten ein Geheimnis (Secret) angezeigt.
- Kopieren Sie das Secret für jeden Agenten in Ihre
docker-compose.yml
Datei unterJENKINS_SECRET
.
Node master bearbeiten und Anzahl der Build-Prozessoren auf 0 setzen
Führen Sie die folgenden Befehle aus, um die Container neu zu starten:
docker-compose down
docker-compose up -d
Bevor die Pipeline ausgeführt werden kann, müssen noch die Rechte gesetzt werden: Führen Sie dazu mit den folgenden Befehlen die notwendigen Befehle im Jenkins-Container aus:
docker exec -u root e2e-jenkins chown -R jenkins:jenkins /var/jenkins_home/workspace
docker exec -u root e2e-jenkins chmod -R 775 /var/jenkins_home/workspace
- Gehen Sie zu Element anlegen in der Jenkins-Weboberfläche.
- Geben Sie den Namen
e2e-pipeline
ein und wählen Sie den Typ Pipeline. - Mit ok bestätigen
- Scrollen Sie nach unten zum Abschnitt Pipeline script und fügen Sie den folgenden Code ein:
node('agent-1') {
def agentName = env.NODE_NAME
echo agentName
def jenkinsFilePath = '/var/jenkins_home/workspace/file/Jenkinsfile'
load jenkinsFilePath
}
- Klicken Sie auf Speichern.
Klicken Sie auf Jetzt ausführen, um die Pipeline zu starten. Dies wird den definierten Build-Prozess in Gang setzen und die Schritte im Jenkinsfile
auf dem angegebenen Agenten ausführen.