首页 > 解决方案 > 使用 Azure CLI 将文件从最新提交上传到 Azure 存储

问题描述

我有一个詹金斯管道。每次我签入 git 时,我都需要访问更改的文件(或特定目录中的所有文件)并将它们上传到我的 Azure 存储帐户。

我可以使用 Azure CLI 将文件上传到存储帐户,但我无法访问 git 文件。当我尝试在我的 JenkinsFile 中使用以下内容时,两个值都为 null 和 null。

echo "The commit hash is ${env.GIT_COMMIT} ${env.GIT_PREVIOUS_SUCCESSFUL_COMMIT}"

鉴于我的用例,我最好的方法应该是什么?有什么方法可以访问这些文件以便上传它们?

我的詹金斯版本 - 2.214。

标签: gitjenkinsgit-commitazure-cli

解决方案


在您的管道中,如果您尝试直接回显有效的 ${env.GIT_xxxx} 而不获取并保存结帐返回的地图,那么我相信您可以尝试获取结帐返回的地图并将地图保存为环境变量。

stage('Checkout code') {
  steps {
    script {
      // Checkout the repository and save the resulting metadata
      def scmVars = checkout([
        $class: 'GitSCM',
        ...
      ])

      // Display the variable using scmVars
      echo "scmVars.GIT_COMMIT"
      echo "${scmVars.GIT_COMMIT}"

      // Displaying the variables saving it as environment variable
      env.GIT_COMMIT = scmVars.GIT_COMMIT
      echo "env.GIT_COMMIT"
      echo "${env.GIT_COMMIT}"
    }

    // Here the metadata is available as environment variable
    ...
  }
}

仅供参考,是上述信息的来源。希望这可以帮助!


推荐阅读