git - 使用 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。
解决方案
在您的管道中,如果您尝试直接回显有效的 ${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
...
}
}
仅供参考,这是上述信息的来源。希望这可以帮助!
推荐阅读
- git - Git 克隆而不是
- intellij-idea - 如何在运行使用 IntelliJ IDE 构建的 Jar 文件时解决“java.lang.NoClassDefFoundError:”?
- azure-data-studio - Azure Data Studio 对 JSON 使用单引号
- java - 文本在列表视图中不可见
- html - 日期时间选择器中某些日期的空异常错误
- flask - 不可恢复的错误:ResponseError('UNBLOCKED 强制解除阻塞操作,实例状态已更改(主 -> 副本?)
- python - 捕获一般异常以尝试其他方法有什么问题吗?
- python-3.x - 它没有使用“排序”进行排序,并且得到错误的答案。而且我不确定算法是否正确
- database-normalization - 是否存在只有一个属性的关系是非素数的,并且关系在 2NF 而不是在 3NF?
- java - 在 FTP/数据库连接期间删除文件失败