此处进行迭代的应用是ruoyi后端jar包,用来模拟真实的发包上线。
配置:虚拟机系统:CentOS7.7 四核 八G
K8s版本:1.7.7
Kuboard版本:V2.0.0.5
通过Docker安装SPUG。(参考官方文档:Docker安装 | Spug)
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-compose-plugin
systemctl enable docker
systemctl start docker
编辑compose
vi docker-compose.yml
version: "3.3"
services:
db:
image:registry.cn-hangzhou.aliyuncs.com/openspug/mariadb:10.8.2 container_name: spug-db
restart: always
command: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- /data/spug/mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=spug
- MYSQL_USER=spug
- MYSQL_PASSWORD=spug.cc
- MYSQL_ROOT_PASSWORD=spug.cc
spug:
image:registry.cn-hangzhou.aliyuncs.com/openspug/mariadb:10.8.2 container_name: spug
privileged: true
restart: always
volumes:
- /data/spug/service:/data/spug
- /data/spug/repos:/data/repos
ports:
# 如果80端口被占用可替换为其他端口,例如: - "8000:80"
- "8000:80"
environment:
- MYSQL_DATABASE=spug
- MYSQL_USER=spug
- MYSQL_PASSWORD=spug.cc
- MYSQL_HOST=db
- MYSQL_PORT=3306
depends_on:
- db
docker compose up -d#启动容器
docker exec spug init_spug admin spug.cc#初始化
通过地址的8000端访问页面。
点击主机管理,添加一台虚拟机,配置如图.

点击到“发布配置”,新增一个应用。

此时我们回到kuboard页面,在后端容器部署页面找到CI/CD.
将CICD集成中的curl复制下来,在虚拟机中创建一个shell脚本,以实现自动化部署。
vim ci.sh
#!/bin/bash
export ruoyi_t=$1 #执行脚本命令后的第一个指令键入这里。
curl -X PATCH \
-H "content-type: application/strategic-merge-patch+json" \
-H "Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkFtcWctc0hpWmlaUHJhaTBWdjZoU2xJYldhaHNGX19nNWxWbVdJcVBUSFUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tNTUybWwiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNGJmMmQzZTQtMDdkNS00ZjRkLTg4MTAtNDFkMmUxYmU5MTNlIiwic3ViIjoic3lzdGVtOnNlcnZY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.Xfq7YfYcbq-90gaGXLN-W0W1AOQJuIG3ySFR9q38XrDtbgxagx_SoGKunLz5skApMaVQ_tprBpH58KRVY5kckme6FHgMFti5TciTxL3-VrMOdDbv5m8TEtjJXKPXBrUHE2haxheY1bmlLZHQCmyLicQCsQgeS2a1GIS72MurzVpJJCTDGakNCowknsNtMObGUwZAyov-Wi9VcYKLS9sbNa6fUWr3gY9EwrQ1ZY-VMuwE1-_GKUfjoh53Udglo5tzTbILwMtX3qVbEMiBSwG0e85eTuxaT9DZVuheXmOEqfGKrXcQ5DH1afcKzsGyYjDh5VppjAysAXmt6Oi5OgxPbQ" \
-d '{"spec":{"template":{"spec":{"containers":[{"name":"server","image":"ruoyi-t:'$ruoyi_t'"}]}}}}' \
"http://192.168.149.129:32567/k8s-api/apis/apps/v1/namespaces/ruoyi/deployments/server"
点击新建发布,选择自定义发布。


本地执行动作指的是在部署SPUG的服务器上执行的操作
数据传输是从部署SPUG的服务器传输到目标服务器
目标主机执行动作是在发包的服务器上进行的操作
此处选择从本地上传jar包
执行内容包括镜像构建和脚本执行

点击“发布申请”,“新建申请”,根据要求填写和选择。

点击“确定”后,在页面点击“发布”。

回到kuboard查看,
发现容器内的镜像已经被替换
通过SPUG实现CICD
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法