当前位置: 首页 > news >正文

基于阿里云效实现cicd记录

背景介绍

基于docker swarm 实现了集群服务,mysql、redis等中间件在manager 节点中,work节点跑web服务,web代码在gitee上进行管理,想要实现代码每更打一次tag,自动进行构建最新web 镜像,然后work节点自动更新运行最新镜像服务

实现

1. 构建镜像

1.1 进入阿里云效 创建一条流水线

在这里插入图片描述

1.2 选择流水线源,将gitee授权到云效中,然后进行选择代码仓库

在这里插入图片描述

1.3. 到阿里云镜像服务中创建一个进行,方便后续打包构建好进行推送

进入阿里云进行服务
如果是新用用户,那么需要先配置命名空间
在这里插入图片描述
然后再创建你的web服务镜像
在这里插入图片描述

1.4 回到流水线中,构建镜像选择推送到你的仓库中

在这里插入图片描述
可以通过环境变量给要构建出来的镜像打标签,目前我使用的是流水线号,每触发执行一次流水线就会更新一次镜像标签

2. 部署

2.1 work节点机器安装Runner,让我们的docker服务器能够和阿里云进行链接

在这里插入图片描述
在部署步骤中有个新建主机,点击可跳转到云效中添加服务器主机,跟着它上面命令在你的主机上安装 Runner,安装好后就可以在流水线中选择主机组了,这样流水线到部署步骤的时候就可以执行部署代码了
目前我使用的是docker swarm 集群,在manager节点中使用docker stack deploy -c server.yml 部署堆栈的时候,work节点上的docker 无法自动pull server.yml 中使用到的容器,所以我这边就新增一个在work主机组pull镜像的步骤,后面在manager主机上就可以使用docker stack deploy 进行启动服务了

2.2 manaer节点部署堆栈服务

在这里插入图片描述
在第二个部署步骤中,先将当前流水线号当做镜像的tab版本号配置到环境变量中,然后再启动堆栈,yml配置如下:


version: '3.8'networks:base_service_database-net:external: trueweb_app:external: truemonitoring:external: trueservices:caipu_cook_info_api:image: xxxx/tnan/caipu_api:${CAIPU_API_TAG}container_name: caipu_cook_info_apicommand: bash -c " cd caipu_cook_web && gunicorn -c gunicorn.conf.py main:app "volumes:- /data/logs/cook_web_info_api:/app/caipu_cook_web/logsnetworks:- monitoring- web_app- base_service_database-netenvironment:- TZ=Asia/Shanghaiports:- "7050:8888"restart: alwaysdeploy:mode: global  # 关键配置:全局模式placement:constraints:- node.role == worker  # 可选:限制在 worker 节点preferences:- spread: node.labels.zone  # 跨区域分布- spread: node.id          # 均匀分布

yml中的${CAIPU_API_TAG}可以从当前环境变量中获取到对应的镜像tag版本号

3 代码推送触发

不要忘了触发配置,在触发设置中,开启webhook 触发,复制下面webhook地址,到你个gitee上进行配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
目前我这只勾选了tag push,每打一个tag推送后就触发一次cicd进行流水线构建部署

http://www.dtcms.com/a/554701.html

相关文章:

  • 网站结构的规划与设计拓者设计吧首页
  • 递归专题4 - 网格DFS与回溯
  • 免费排版网站专业网站是什么意思
  • 精准且快速校准的语音神经假体研究与学习
  • 授权购买网站广州越秀网站制作
  • 马克·扎克伯格大学做的网站lnmp wordpress 500
  • Maven 入门指南
  • 网站建设电话销售技巧和话术合肥网络seo
  • 湖北人工智能建站系统软件360建筑兼职网官网
  • 怎么搭建自己的电影网站建设部网站社保联网
  • 学习笔记二:发展历程
  • 回森AI智能服务唯一服务已更新
  • 设计的素材网站有哪些软件平台开发流程
  • 山东网站建设优化技术网站建设的实践体会
  • 免费设计软件网站攻击Wordpress网站
  • Nginx简介与应用场景:从原理到实战案例
  • 网站的icp备案信息企业网站建设流程第一步是什么
  • 用easyui皮肤做漂亮的网站购物建设网站
  • 网站提供入口做网站存在的问题
  • 网站建设怎么骗人洛阳网站建设多少钱
  • 石家庄网站建设公司锦州网站建设品牌
  • Makerbase CANable V1.0 PCAN环境安装与测试
  • 唐山模板建站系统网站底版照片怎么做
  • 哪个网站开发好网站建设 方案书
  • 无备案网站 阿里联盟南宁网络企业网站
  • 商业广告的“智慧大脑”:OBOO鸥柏满天星发布屏系统赋能技术发布
  • 部署Kubernetes 1.32版
  • 从“合规”到“价值跃迁”,检测报告在信创产业中的角色升级
  • Unlock Music 多种音乐免费解锁使用教程
  • python进阶教程9:生成器和迭代器