Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

您所在的位置:网站首页 jenkins调用docker Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

2024-07-11 00:54:13| 来源: 网络整理| 查看: 265

本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建、发布到仓库\并部署上线。

0. 前置条件

服务器安装docker,并启动docker swarm

注意docker启动时,需要开启tcp端口

1.Jenkins 安装1.1 命令行启动:

安装比较简单,直接运行

docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_home jenkins/jenkins:lts

运行后查看日志,获取token,打开ip:8080,输入token,安装常用插件

1.2 使用swarm集群管理工具

在services里,添加服务

enter description hereenter description here2.Jenkins 插件安装

我们需要一些插件支持

Docker plugin : 提供docker 构建和发布SSH plugin : 提供通过SSH在远程主机执行命令,用于部署服务maven plugin: 支持maven

系统管理-插件管理里进行安装即可。

2.1 docker 配置

“系统管理-系统设置-云” 里新增

enter description hereenter description here

注意docker host url需要加上tcp://

2.2 ssh主机 配置

“系统管理-系统设置-SSH remote hosts” 里配置SSH远程主机

enter description hereenter description here2.3 配置下email

在系统设置里直接设置,配置下smtp

2.4 配置jdk、maven

在系统管理-全局工具配置里设置JDK自动安装

enter description hereenter description here

maven同样配置即可

3.Jenkins 项目配置3.1 新建项目

我们是maven项目,选择maven

enter description hereenter description here3.2 配置源码管理

首先配置源码,可以是git或者svn,项目组用的是svn

enter description hereenter description here3.3 配置触发器

配置自动构建,勾选POLL SCM,配置5分钟检查一次,当svn发生变化时,会自动启动构建

enter description hereenter description here3.4 配置Build

简单的maven项目,构建使用pom.xml,执行package -DskipTests

enter description hereenter description here3.5 配置Post Steps

Post Steps是指构建完成执行的步骤,我们会实现构建docker,发布docker和部署服务

3.5.1 配置docker

点击add post-build step,选择Build/publish docker image:

enter description hereenter description here

选择cloud为先前配置的docker-cloud,image填写私服发布地址,勾上push image。

enter description hereenter description here

这样配置,构建完成后会自动push到私服。

3.5.2 配置远程部署

我们使用docker stack来部署服务

首先,编写docker-compose.yml

version: "3" services: backend: image: 192.168.86.8:5000/allinone-service-cicd deploy: replicas: 1 restart_policy: condition: on-failure ports: - "8007:8006" networks: - webnet networks: webnet:

保存到docker服务器,比如/root/allinone/allinone-service/allinone目录

然后,添加post-build step:

enter description hereenter description here

选择配置好的远程docker主机:

enter description hereenter description here

填入命令:

cd /root/allinone/allinone-service/allinone docker stack down allinone-cicd docker stack deploy -c docker-compose.yml allinone-cicddocker stack down 将原先服务下线docker stack deploy -c 重新部署服务4 开始构建4.1 手动构建

回到工程,点击立即构建,第一次构建会自动下载jdk,maven,会比较慢

enter description hereenter description here

等待一会,构建成功:

9e70992ebc17: Pushing [===============================================> ] 42.66MB/45.02MB 9e70992ebc17: Pushing [=================================================> ] 44.96MB/45.02MB 9e70992ebc17: Pushing [==================================================>] 45.02MB 9e70992ebc17: Pushed latest: digest: sha256:5df6c97d6173527bc92ddc436fcef063069cd1cd3d0da8a0c74d2238443ae4d6 size: 1582 Docker Build Done [SSH] script: cd /root/allinone/allinone-service/allinone docker stack down allinone-cicd docker stack deploy -c docker-compose.yml allinone-cicd [SSH] executing... Removing service allinone-cicd_backend Removing network allinone-cicd_webnet Creating network allinone-cicd_webnet Creating service allinone-cicd_backend [SSH] completed [SSH] exit-status: 0 Finished: SUCCESS

如果配置了邮件通知,会收到构建成功邮件。

4.2 自动构建

SVN提交一个变更,等几分钟,查看Subversion Polling Log,已经有记录了,发现已经自动构建了一个版本

enter description hereenter description here

完美!

作者:Jadepeng 出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi 您的支持是对博主最大的鼓励,感谢您的认真阅读。 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭