Cet article vous apporte des connaissances pertinentes sur l'utilisation de Docker d'héritage de pipeline, principalement des problèmes liés à l'intégration de conteneurs Docker dans Pipeline. J'espère qu'il sera utile à tout le monde.
Cet article décrit principalement l'utilisation de Docker d'intégration de pipeline.
L'architecture des microservices est la sélection technologique dominante actuelle Lorsque l'entreprise est mise en œuvre, il y aura de nombreux services métier, que ce soit dans n'importe quel nœud pendant le développement, les tests ou en ligne s'il est basé. sur Le coût d'exploitation des services d'emballage via la compilation manuelle est non seulement extrêmement élevé, mais également sujet aux erreurs.
Grâce à l'approche Pipeline, la construction de l'image de service est orchestrée en une exécution de déclencheur en un clic pour réaliser des processus de gestion automatisés, qui est un module fonctionnel nécessaire dans l'architecture des microservices.
Les nœuds de processus dans cet article sont principalement destinés au package d'application Jar
. Le flux de traitement dans le module docker est principalement la gestion de la construction d'images et le fonctionnement des conteneurs : Jar
包,在docker模块中的处理流程,主要是镜像构建管理与容器运行:
Jar
包,创建Dockerfile
脚本文件;整个流程的都放在Pipeline流水线中,衔接在本地Jar包生成之后。
首先安装流程中Docker集成的相关插件:Docker Pipeline
,Docker plugin
,CloudBees Docker Hub/Registry Notification
。
在之前的流水线篇幅中,已经通过流水线完成Gitee仓库代码pull和本地打包,下面开始处理docker环节。
关于Dockerfile的脚本语法也可以参考之前docker篇幅,下面看流水线中的用法:
environment { docker_directory = 'docker-app' docker_repository = '仓库URL' } stage('Dockerfile') { steps { sh ''' rm -rf ${docker_directory} mkdir -p ${docker_directory} cp auto-client/target/auto-client-1.0-SNAPSHOT.jar ${docker_directory}/auto-client.jar cd ${docker_directory} cat>Dockerfile<<EOF FROM java:8 MAINTAINER cicadasmile VOLUME /data/docker/logs ADD auto-client.jar application.jar ENTRYPOINT ["java","-Dspring.profiles.active=dev","-Djava.security.egd=file:/dev/./urandom","-jar","/application.jar"] EOF cat Dockerfile ''' echo "create Dockerfile success" } }
脚本说明:
docker-app
;这里即进入docker目录,执行镜像打包的操作,并把镜像推送到云端仓库,很多仓库都是私有的,需要身份验证,通过配置凭据去访问:
stage('DockerImage'){ steps { script { dir("${docker_directory}") { sh 'ls' docker.withRegistry("${docker_directory}", '访问凭据') { docker.build("doc-line-app:latest").push() } } echo "build DockerImage success" } } }
打开Manage Jenkins
界面,Manage Credentials
Jar
et créez un fichier de script Dockerfile
3. Processus de mise en œuvre
Installez d'abord les plug-ins pertinents intégrés par Docker dans le processus : Docker Pipeline
, Plugin Docker.
, CloudBees Docker Hub/Notification de registre.
GitEE·地址 https://gitee.com/cicadasmile/butte-auto-parent Wiki·地址 https://gitee.com/cicadasmile/butte-java-note
docker-app
; Gérer Jenkins
, option Gérer les identifiants
🎜🎜🎜🎜🎜Suivez le processus de configuration suivant : 🎜 🎜🎜🎜🎜 4. Adresse du code source🎜rrreee🎜Apprentissage recommandé : "🎜Tutoriel vidéo Docker🎜"🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!