yqcloud-deploy

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

燕千云部署管理

燕千云部署管理

环境信息

环境信息

燕千云使用 GitOps 方式管理部署,有三个环境和多个仓库:
  • test 环境: git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-test.git
  • preprod 环境(三个都是,且部署不一样的服务): git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/preprod-fronts.git
  • stag 环境(实施环境): 后端 git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yqc-stag.git 前端:git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/stag-front.git
燕千云使用 GitOps 方式管理部署,有三个环境和多个仓库:
  • test 环境: git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-test.git
  • preprod 环境(三个都是,且部署不一样的服务): git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/preprod-fronts.git
  • stag 环境(实施环境): 后端 git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yqc-stag.git 前端:git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/stag-front.git

工作流程

工作流程

1. 查询可用的 Chart 版本

1. 查询可用的 Chart 版本

使用 ChartMuseum API 获取某个服务的所有可用版本:
bash
undefined
使用 ChartMuseum API 获取某个服务的所有可用版本:
bash
undefined

从 GitOps 仓库的 release-xxx.yaml 中找到 repoUrl

从 GitOps 仓库的 release-xxx.yaml 中找到 repoUrl

repoUrl 就是 base_url

repoUrl 就是 base_url

查询指定服务的所有版本

查询指定服务的所有版本

curl -s "{base_url}/api/charts/{chart_name}" | tee ~/tmp/{chart_name}_versions.json
curl -s "{base_url}/api/charts/{chart_name}" | tee ~/tmp/{chart_name}_versions.json

示例

示例


API 返回所有版本,无分页。结果保存到 `~/tmp/` 方便查看和搜索。

API 返回所有版本,无分页。结果保存到 `~/tmp/` 方便查看和搜索。

2. 克隆 GitOps 仓库

2. 克隆 GitOps 仓库

首次使用时,将目标环境的 GitOps 仓库克隆到本地:
bash
undefined
首次使用时,将目标环境的 GitOps 仓库克隆到本地:
bash
undefined

克隆到统一目录

克隆到统一目录

mkdir -p ~/yq-gitops
mkdir -p ~/yq-gitops

根据环境选择对应仓库

根据环境选择对应仓库

cd ~/yq-gitops
cd ~/yq-gitops

test 环境

test 环境

preprod 环境

preprod 环境

git clone git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git
git clone git@code.choerodon.com.cn:hand-yanqianyun-yqcloud-gitops/yq-preprod.git

stag 环境

stag 环境

3. 修改部署配置

3. 修改部署配置

部署配置文件格式为
release-{service_name}.yaml
部署配置文件格式为
release-{service_name}.yaml

更新 Chart 版本

更新 Chart 版本

修改
chartVersion
字段:
bash
cd ~/yq-gitops/{environment}
修改
chartVersion
字段:
bash
cd ~/yq-gitops/{environment}

编辑对应的 release 文件

编辑对应的 release 文件

找到 chartVersion 字段并修改为目标版本

找到 chartVersion 字段并修改为目标版本

undefined
undefined

修改环境变量

修改环境变量

release-{service_name}.yaml
中找到
values
env
部分进行修改。
release-{service_name}.yaml
中找到
values
env
部分进行修改。

4. 提交并推送

4. 提交并推送

修改完成后提交并推送,触发自动部署:
bash
git add .
git commit -m "Update {service_name} to version {version}"
git push
推送后,GitOps 系统会自动检测变更并执行部署。
修改完成后提交并推送,触发自动部署:
bash
git add .
git commit -m "Update {service_name} to version {version}"
git push
推送后,GitOps 系统会自动检测变更并执行部署。

常见操作

常见操作

查看当前部署版本

查看当前部署版本

bash
cd ~/yq-gitops/{environment}
grep -A 5 "chartVersion" release-{service_name}.yaml
bash
cd ~/yq-gitops/{environment}
grep -A 5 "chartVersion" release-{service_name}.yaml

查看环境变量配置

查看环境变量配置

bash
cd ~/yq-gitops/{environment}
cat release-{service_name}.yaml
bash
cd ~/yq-gitops/{environment}
cat release-{service_name}.yaml

搜索特定版本

搜索特定版本

bash
undefined
bash
undefined

在保存的版本列表中搜索

在保存的版本列表中搜索

cat ~/tmp/{chart_name}_versions.json | grep "{version_pattern}"
undefined
cat ~/tmp/{chart_name}_versions.json | grep "{version_pattern}"
undefined

注意事项

注意事项

  • ChartMuseum API 无需认证(如果需要认证,添加
    -u username:password
  • 修改前先
    git pull
    确保本地是最新状态
  • 提交信息应清晰说明修改内容
  • 推送后可通过 GitOps 平台查看部署状态
  • ChartMuseum API 无需认证(如果需要认证,添加
    -u username:password
  • 修改前先
    git pull
    确保本地是最新状态
  • 提交信息应清晰说明修改内容
  • 推送后可通过 GitOps 平台查看部署状态