docker-swarm+jenkins+git+harbor+spring-boot实现CI/CD

今天给大家带来一篇CI/CD的文章,我是使用swarm做的docker集群,Harbor作为镜像仓库,git作为代码、配置仓库,jenkins就是发布啦,由于之前写过jenkins在swarm集群下搭建过程,这里不做说明了,Harbor需要自己事先安装好(或者公有云,还免费)
开始吧:(centos7以上系统,我是7.4)
1:所有集群节点安装docker,并登陆Harbor(镜像仓库)
yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager --enable docker-ce-edge //选择版本,我是用的18.03

yum install -y docker-ce-18.03.1.ce

sed -i ‘s/ExecStart=.*/ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375/g’ /lib/systemd/system/docker.service

systemctl enable docker

systemctl start docker

docker login --usernamer=xxx Harbor-url地址

2:创建swarm集群(关闭防火墙、selinux)
docker swarm init --advertise-addr 10.59.1.172 #本机内部ip地址,选择一个节点作为初始leader
docker network create -d overlay cdel --attachable # cdel 可以随便改为,为内部网络名称
完成后查看docker-swarm节点情况:
docker node ls
docker network ls
开始加入节点:
docker swarm join-token --help //添加manager 或者 work
如果你想加入manager:
docker swarm join-token manager //下面就会出现对应的命令,然后复制,到其他主机执行
如果你想加入worker:
docker swarm join-token worker //下面就会出现对应的命令,然后复制,到其他主机执行
3:接下来是根据业务做镜像并且实现自动发布
3.1:我是java项目,生成jar包的,所以大致步骤jenkins–拉取代码–构建生成jar–Dockerfile把jar包封装在镜像里–push镜像–远程到集群,执行更新
jenkins配置:在这里插入图片描述
名字最好是swarm下的服务名
具体配置如下:
在这里插入图片描述
在这里插入图片描述
凭证不知道如何加的,可以看我之前的jenkins文章
在这里插入图片描述
在这里插入图片描述
service.sh内容:
#!/bin/bash
set -xe
num=docker service ls|awk '{print $2}'|grep $1$|wc -l
if [ $num -eq 0 ];then
echo “服务未找到,开始创建服务,如果集群有变动,记得加入ansible的swarm组下,创建日志目录使用”
if [[ $3 != ‘17000’ ]];then
docker service create --name $1 --network cdel --health-cmd=“curl --silent --fail localhost:17000$3 || exit 1” --health-retries=3 --health-interval=5s --health-timeout=2s --health-start-period=100s --update-delay 10s --endpoint-mode=dnsrr --replicas 1 --update-failure-action rollback harbor.XXX.com/swarm/$1:$2
else
docker service create --name $1 --network cdel --health-cmd=“netstat -nlp | grep 17000 && exit 0 || exit 1” --health-retries=3 --health-interval=5s --health-timeout=2s --health-start-period=100s --update-delay 10s --endpoint-mode=dnsrr --replicas 1 --update-failure-action rollback harbor.XXX.com/swarm/$1:$2
fi
else
echo “服务已找到,开始更新服务”
docker service update --image harbor.XXX.com/swarm/$1:$2 $1
fi
注释:由于我全部定义了启动端口为17000,所以健康监测有时需要验证,我就直接用端口验证了,正常情况下都是传健康监测的url,否则就是传17000。没有找到服务就会创建,找到就会更新

注释:有些人搞不懂为啥–endpoint-mode=dnsrr,这是由于注册中心的问题,默认是一个VIP,当更新服务的时候会出现不能访问的情况,所以改为dnsrr就会注册多个,更新的时候就不会有问题了(有人说VIP一直提供服务,为啥注册中心会检测不到,我也想问为啥?反正是个坑,改为dnsrr就遇到动态解析的问题,所以我就放弃了nginx,用了tengine作为代理,加上动态解析)
3.2:接下来看看git仓库下Dockerfile以及配置文件名称(不是代码仓库):
在这里插入图片描述
看看我们的Dockerfile
在这里插入图片描述
这个时候就可以更新我们的服务了,当然服务也可以不存在,脚本检测到没有服务会自动创建的。基础镜像需要大家自己琢磨了
展示下效果图以及镜像大小:
在这里插入图片描述
在这里插入图片描述
基础镜像不会做的,可以留言交流哦,有哪里可以改进的,也希望大家能够指出来

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于在Windows上安装Docker,您可以按照以下步骤进行操作: 1. 首先,确保您的Windows版本为Windows 10或更高版本,并且系统支持虚拟化技术。您可以使用以下命令检查是否支持虚拟化: ```bash systeminfo | find "虚拟化" ``` 如果输出中包含“虚拟化已启用”,则表示您的系统支持虚拟化。 2. 下载并安装Docker Desktop for Windows。您可以从Docker官方网站(https://www.docker.com/products/docker-desktop)下载安装程序。 3. 运行安装程序并按照提示进行安装。安装过程中可能需要重启计算机。 4. 安装完成后,启动Docker Desktop。它将在您的任务栏中显示一个小鲸鱼图标。 5. 单击小鲸鱼图标,选择“Settings”(设置)。在“General”(常规)选项卡中,确保“Expose daemon on tcp://localhost:2375 without TLS”(在没有TLS的情况下在tcp://localhost:2375上公开守护程序)选项已选中。 6. 点击“Apply & Restart”(应用并重启),以使更改生效。 7. 完成后,您应该能够在命令行或PowerShell中运行docker命令,并且Docker服务已经成功启动。 对于在Windows上安装Git,您可以按照以下步骤进行操作: 1. 下载Git for Windows安装程序。您可以从Git官方网站(https://git-scm.com/downloads)下载安装程序。 2. 运行安装程序并按照提示进行安装。在安装选项中,建议选择默认选项,除非您有特定的要求。 3. 完成后,您可以在命令行或Git Bash中运行git命令。 对于在Windows上安装Jenkins,您可以按照以下步骤进行操作: 1. 下载Jenkins的Windows安装程序(war文件)。您可以从Jenkins官方网站(https://www.jenkins.io/download/)下载最新版本的war文件。 2. 确保您已经安装了Java Development Kit(JDK)。您可以从Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk8-downloads.html)下载并安装JDK。 3. 打开命令提示符或PowerShell,并导航到您保存jenkins.war文件的目录。 4. 运行以下命令启动Jenkins: ```bash java -jar jenkins.war ``` 5. 完成后,您可以访问http://localhost:8080来打开Jenkins Web界面,并按照提示进行初始化设置。 对于在Windows上安装HarborHarbor是一个容器镜像注册表和存储库,用于存储和分发Docker镜像。您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker。您可以按照上面的步骤进行安装。 2. 下载Harbor的安装程序。您可以从HarborGitHub存储库(https://github.com/goharbor/harbor/releases)下载最新版本的离线安装程序。 3. 解压缩下载的安装程序,并进入解压后的目录。 4. 修改`harbor.yml`配置文件,根据您的需求进行配置,例如修改`hostname`、`http`、`https`等选项。 5. 运行以下命令安装Harbor: ```bash ./install.sh ``` 6. 完成后,您可以通过浏览器访问Harbor的Web界面,并根据需要配置用户、项目和存储库等。 这些是在Windows上安装Docker、GitJenkinsHarbor的基本步骤。请根据您的实际情况和需求进行适当的调整和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值