遇事不决,先看文档:
https://help.aliyun.com/zh/yunxiao/?spm=a2c4g.11186623.0.0.572f6a4abZOoFt
创建流水线
创建流水线之前,先
做好分组、建好标签
这里很多东西都要自己改的,所以我直接选择空模板了
基本信息
在这里还可以设置
环境、标签、分组、名称、成员
流程配置
流水线源
在这里可以选择代码源、指定分支
再指定触发条件
获取Webhook,去相应的代码源中操作
构建镜像并推送
这里要设置镜像仓库、镜像标签
镜像标签最好使用变量生成,我使用的是:
1.0.${BUILD_NUMBER}
查看官方文档中的变量:
替换变量
设置变量: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触发
提交代码等操作的时候,自动执行
定时出发
可以定时每天或每周出发
变量和缓存
变量
字符变量
运行选择变量
评论区