" name="sm-site-verification"/>
侧边栏壁纸
博主头像
PySuper 博主等级

千里之行,始于足下

  • 累计撰写 235 篇文章
  • 累计创建 15 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

阿里云效 DevOps 流水线

PySuper
2024-12-05 / 0 评论 / 0 点赞 / 75 阅读 / 0 字
温馨提示:
本文最后更新于2024-12-06,若内容或图片失效,请留言反馈。 所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊

遇事不决,先看文档:https://help.aliyun.com/zh/yunxiao/?spm=a2c4g.11186623.0.0.572f6a4abZOoFt

创建流水线

  • 创建流水线之前,先做好分组、建好标签

  • 这里很多东西都要自己改的,所以我直接选择空模板了

基本信息

  • 在这里还可以设置环境、标签、分组、名称、成员

流程配置

流水线源

  • 在这里可以选择代码源、指定分支

  • 再指定触发条件

  • 获取Webhook,去相应的代码源中操作

构建镜像并推送

替换变量

  • 设置变量:deploy_version

  • 设置变量:image_url

  • 替换 docker-compose.yaml 中的变量

  • 构建物上传

# ports: 绑定容器的端口到主机的端口,这样就可以在外网访问docker容器的服务
# expose: 将当前容器的端口3暴露给link到本容器的容器,expose不会将端口暴露给主机

services:
  BackEnd:
    # 使用变量
    environment:
      - deploy_version=${deploy_version}
    # 容器镜像使用变量导入
    image: ${image_url}
    # 容器的名称
    container_name: BackEnd
    # 容器的hostname
    hostname: Back-${deploy_version}
    # 容器的端口映射
    ports:
      - "6789:8000"

主机部署

  • 执行部署的时候,把修改之后的docker-compose.yaml文件下载到本机

  • 制品那里只有三个值,选择替换变量时候的输出就行了()

  • 新建主机组,在组中 添加主机

  • 编写部署脚本,这里用docker-compose操作部署的

# 删除之前的容器==>保留当前本次版本 和 上一次的版本
docker rmi $(docker images | grep front | sed '1d' | awk '{print $1}')

# 初始化项目目录 1.0.2
mkdir -p /root/project/nebula/DevOps/back-${deploy_version}

# 将docker-compose 解压到指定目录下
tar -zxvf /root/project/nebula/DevOps/back-${deploy_version}.tgz -C /root/project/nebula/DevOps/back-${deploy_version}/

# docker-compose指定文件启动
# 这里的deploy,是因为 docker-compose.yml 解压到 /root/project/nebula/DevOps/deploy/ 目录下
# 构建物上传的时候,指定的有deploy文件夹下的docker-compose.yml文件
docker-compose -f /root/project/nebula/DevOps/back-${deploy_version}/deploy/docker-compose.yml up -d

总览

触发设置

Webhook触发

  • 提交代码等操作的时候,自动执行

定时出发

  • 可以定时每天或每周出发

变量和缓存

变量

可以去官方文档多看看:https://help.aliyun.com/zh/yunxiao/user-guide/environment-variables?spm=a2c4g.11186623.help-menu-150040.d_2_4_2_5.583d6a4avo73V6&scm=20140722.H_153688._.OR_help-T_cn#DAS#zh-V_1

  • 字符变量

  • 运行选择变量

通用变量组

缓存

0

评论区