Dans cette page, nous allons pratiquer CI / CD en utilisant "katacoda" (https://www.katacoda.com/), un "service web qui vous permet de lancer des instances d'étude gratuitement depuis un navigateur". Le contenu suit le lien ci-dessus, donc si vous avez des questions, veuillez y aller.
Ici, nous présentons un exemple d'utilisation de jenkins, qui est le cœur de CI / CD. Vérifiez ** Aperçu ** pour une confirmation rapide de ce que vous apprendrez dans ce scénario ** Si vous avez des erreurs dans votre compréhension, veuillez nous en informer **
-Suivez les étapes ci-dessous pour construire un conteneur avec jenkins
Launch Jenkins Tout d'abord, exécutez la commande suivante pour exécuter jenkins en tant que conteneur docker.
docker run -d -u root --name jenkins \ //Exécution en arrière-plan, utilisateur root, nom du conteneur"jenkins"
-p 8080:8080 -p 50000:50000 \ //Le port 8080 est pour le tableau de bord Web et le port 50000 pour la communication avec l'agent jenkins
-v /root/jenkins_2112:/var/jenkins_home \ //Chemin de montage côté hôte et chemin côté conteneur
jenkins/jenkins:2.112-alpine
Cette fois, il y a un autre terminal hôte Pour l'accès, connexion ssh
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6048602eb5b9 jenkins/jenkins:2.112-alpine "/sbin/tini -- /usr/…" 2 minutes ago Up2 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins
Après avoir confirmé que le conteneur a bien réussi l'historique, déplacez-vous de ce lien (par défaut)
Pour vous connecter, admin '',
344827fbdbfb40d5aac067c7a07b9230 ''
L'environnement est comme ça
Configure Docker Plugin Ici, définissez le plugin Docker En définissant le plugin Docker, jenkins peut communiquer avec le démon docker via l'agent (voir le diagramme schématique ci-dessous).
Cliquez comme suit sur le tableau de bord Gérer Jenkins> Gérer les plugins> Docker dans l'onglet disponible> Installer sans redémarrer
Ce plugin est traité comme un fournisseur cloud Le conteneur (agent jenkins) démarre uniquement lors de la communication avec l'hôte docker.
Add Docker Agent Ici, définissez la configuration sur "démarrer le conteneur" dans l'agent préparé précédemment.
Cliquez comme suit sur le tableau de bord
Entrez
tcp: //172.17.0.67: 2345``` (serveur docker) dans "Docker"> URI de l'hôte Docker depuis Gérer Jenkins> Configurer le système> Ajouter un nouveau cloud
Communication réussie avec le démon Docker avec cette procédure
Pour vérifier, comparez le résultat de Tester la connexion '' de l'URI de l'hôte Docker avec le résultat de la saisie de
version docker '' sur la console.
$ docker version
Client:
Version: 18.05.0-ce
API version: 1.37
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:16:25 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.10
Git commit: 0520e24302
Built: Fri Mar 23 01:48:12 2018
OS/Arch: linux/amd64
Experimental: false
Ensuite, définissez le conteneur d'agent
docker-agent```
benhall / dind-jenkins-agent: v2```
Se connecter avec SSH```Create Build Project Ici, définissez le conteneur à exécuter en utilisant le "jenkins-agent" mentionné précédemment. La procédure est la suivante
Créer de nouveaux emplois '' ``
Execute Shell dans `` `` Add Build Step
, décrivez les détails de la construction comme suit et enregistrezls
docker info
docker build -t katacoda/jenkins-demo:${BUILD_NUMBER} .
docker tag katacoda/jenkins-demo:${BUILD_NUMBER} katacoda/jenkins-demo:latest
docker images
Build Project
Ici, exécutez réellement le conteneur construit par jenkins à partir du tableau de bord
build now
Cliquez sur
Le conteneur jenkins-agent est démarré à partir du conteneur jenkins, et il faut un certain temps pour démarrer le conteneur à partir de là en fonction du dockerfile de Git. Parfois, le tableau de bord affichera l'erreur
pending — Jenkins n'a pas d'étiquette docker-agent ''.
View Console Output Après avoir confirmé que le conteneur a démarré à partir de jenkins, exécutez le conteneur sur la console.
$ docker run -d -p 80:80 katacoda/jenkins-demo:latest
~~~
$ curl host01
<h1>This request was processed by host: </h1>
docke image
Vérifiez l'image du conteneur avec
benhall/dind-jenkins-agent
Est docker-image de l'agent
katacoda/jenkins-demo
Montre la création d'un conteneur par jenkins
En outre, en se concentrant sur la partie TAG '', il existe trois types,
1,2, dernier ''.
Cela signifie qu'à l'étape 5 du "Créer un projet de construction",
$ {BUILD_NUMBER}
a été géré comme une balise, et le processus de construction du conteneur par jenkins a été effectué deux fois.
Recommended Posts