You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建React Docker镜像后将meta.json版本号提交至Azure Git仓库

Azure Pipeline提交更新后的meta.json到Git仓库方案

核心逻辑

不要在Dockerfile内部执行Git操作,而是在Pipeline代理环境中完成npm run build生成更新的meta.json,提交推送后再构建Docker镜像——这样镜像里的版本号和仓库里的meta.json保持一致。

具体实现步骤

1. 配置Git权限

  • 给Azure Pipeline的服务主体(或使用个人访问令牌PAT)配置目标Git仓库的推送权限
  • 在Pipeline的变量库中添加GIT_PAT变量,类型设为Secret,值为拥有仓库读写权限的PAT

2. 修改Pipeline YAML

在原有构建流程前插入Git提交步骤,完整流程示例:

# 拉取代码并保留凭据
- checkout: self
  persistCredentials: true

# 安装依赖+执行build生成更新的meta.json
- script: |
    npm install
    npm run build
  displayName: 'Install deps & build frontend'

# 配置Git提交身份
- script: |
    git config --global user.name "Azure Pipeline Bot"
    git config --global user.email "pipeline-bot@yourcompany.com"
  displayName: 'Set Git user info'

# 提交并推送meta.json
- script: |
    git add public/meta.json
    # 加[skip ci]避免触发循环构建
    git commit -m "Auto-update meta.json version [skip ci]"
    # 如果persistCredentials不生效,用PAT方式推送:
    # git push https://$(GIT_PAT)@dev.azure.com/YourOrg/YourRepo/_git/YourRepo $(Build.SourceBranchName)
    git push origin $(Build.SourceBranchName)
  displayName: 'Commit updated meta.json to Git'
  env:
    GIT_PAT: $(GIT_PAT)

# 原有Docker构建推送步骤
- task: Docker@2
  displayName: 'Build & push to ACR'
  inputs:
    command: buildAndPush
    repository: $(ACR_REPO_NAME)
    dockerfile: '**/Dockerfile'
    containerRegistry: $(ACR_SERVICE_CONN)
    tags: |
      $(Build.BuildId)
      latest

# 原有AKS部署重启步骤
- script: |
    az aks get-credentials -g $(RG_NAME) -n $(AKS_CLUSTER)
    kubectl rollout restart deploy $(DEPLOYMENT_NAME)
  displayName: 'Restart AKS deployment'

3. 关键注意点

  • 必须先提交meta.json再构建镜像,否则镜像会用旧版本的文件
  • 提交信息里的[skip ci]是必需的,防止推送后再次触发Pipeline形成循环
  • 微软托管代理默认自带Git和Node.js,自托管代理需要提前安装这两个工具
  • 可添加验证步骤确认meta.json已更新:
- script: cat public/meta.json
  displayName: 'Verify updated meta.json'

内容的提问来源于stack exchange,提问作者Harshith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:25:40