如何将 git commit hash 分配给 Jenkins 文件中的变量

2024-02-03

我正在尝试将 git commit hash 分配给 Jenkins 管道中定义的变量,如下所示

GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"

这将在 Jenkins 构建日志中打印提交哈希,但无法分配该值。

当我尝试使用打印值时

steps{
    script {
                GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"

                echo "**************************************************"
                echo "${GIT_COMMIT_HASH}"
                echo "**************************************************"
    }
}

这将导致 null

我该如何分配该值?


您必须告诉 sh 脚本将 stdout 返回到您的脚本,而不是仅仅将其转储到 stdout。

GIT_COMMIT_HASH = sh (script: "git log -n 1 --pretty=format:'%H'", returnStdout: true)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 git commit hash 分配给 Jenkins 文件中的变量 的相关文章

  • 有没有一种方法可以非交互地压缩大量提交?

    我正在尝试压缩一系列提交 HEAD 到 HEAD 3 有没有一种快速的方法可以做到这一点 或者我需要使用 rebase interactive 确保你的工作树是干净的 然后 git reset soft HEAD 3 git commit
  • 如何在 VS Code 中仅提交跟踪文件?

    git status 显示以下三个信息 要提交的变更 分阶段变更 未暂存提交的更改 未暂存更改 未跟踪的文件 我曾经git commit a 它提交 1 和 2 然而VS代码Commit All提交 1 2 和 3 Commit Stage
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 如何在gradle中复制文件?

    我正在尝试将战争档案部署到 Tomcat 中 这是我编写的构建脚本 apply plugin war task deploy dependsOn war copy from build libs into E apache tomcat 8
  • Egit 无法检测到本机 Git 的安装路径“gitPrefix”

    如何解决这个问题 警告 EGit 无法检测到本机 Git 的安装路径 gitPrefix 因此 Egit 无法尊重系统级别 Git 设置可以在本机 Git 安装目录下的 gitPrefix etc gitconfig 中配置 正如我在 eg
  • 如何使用它们的更改来解决选择冲突?

    My git cherry pick FOO产生了冲突 我可以检查冲突的文件并删除之间的行 lt lt lt lt lt lt lt and 以及冲突标记本身 但我希望有一种更简单的方法 我觉得svn等同于选择theirs conflict
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 如何在 Android Studio 中比较两个 Git 分支?

    我不确定是否可以将主分支 或任何其他分支 与当前功能分支进行比较 例如GIT does 我想要两个分支 主分支和功能分支 之间的差异 以便我可以在合并之前比较差异 我发现 Git UI 对用户不太友好 就像在 AS 中一样 我可以遍历代码并
  • 从分离的头进行 Git 推送

    我以超然的态度做出了一些改变 我想用 Git 将这些更改推送到这个独立的头 我不希望我的更改进入开发分支 当然也不想进入主分支 我正在与另一个人一起处理一个文件 分支示例 develop master HEAD detached at or
  • Groovy 和 Groovy++,它们有什么不同吗?

    我最近知道groovy 已经发布了 Groovy和Groovy 的主要区别是什么 来自 groovy 页面http code google com p groovypptest http code google com p groovypp
  • 如何将任务添加到 gradle 中的主要“构建”任务

    当我尝试使用以下代码将任务添加到主构建任务时 rootProject tasks getByName build dependsOn mytask 当我跑步时它抱怨gradle w build输出 Where Build file line
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 部署 Grails 应用程序时出错 - 初学者

    我在部署 Grails 应用程序时遇到问题 一切都在本地测试环境中运行 ERROR localhost startStop 1 错误 context GrailsContextLoader 错误 初始化应用程序 使用名称创建 bean 时出
  • Git:结帐而不运行结帐后挂钩

    我有一个我喜欢的结帐后挂钩 大多数时候 但有时我知道运行它会浪费时间 或者 因为它会删除并重建我的开发数据库 所以我不希望它去做它的事情 有没有跳过钩子的 git 选项 公平地说 我已经开始寻找一个了 我认为没有命令行选项可以完成您想要的操
  • 我可以通过链接分享我的私人 GitHub 存储库吗?

    我在 GitHub 上的私人存储库中有一个 Java 应用程序 我想与没有帐户的人共享它 我在网站上没有找到任何与此相关的选项 有没有办法做到这一点 协作者只能是 GitHub 用户 无法在非 Github 用户之间共享私有存储库 您需要
  • 克隆存储库而不将其设为原始远程存储库

    我正在从一台将被擦除的计算机上克隆一个 git 存储库 是否可以在不创建原始存储库的情况下克隆存储库origin master 或者我是否需要克隆它 然后删除远程分支 这是通过git remote rm origin Edit 存储库只有一
  • 如何替换“docker run”命令中的变量值

    我正在使用 bash 脚本并尝试分配指纹值 如下所示 export FINGERPRINT D0 19 C5 80 42 66 56 AC 6F docker run rm i v var run docker sock var run d
  • 如何查看上次提交和现在之间发生了什么变化(进行一些更改后)

    与此类似question https stackoverflow com questions 1552340 how to list the file names only that changed between two commits但
  • GitHub API:标记提交所属(与 git describe --tag 并行)

    我正在使用 GitHub API 进行实验octokit https github com octokit octokit rb红宝石 我的目标是能够提取提交 SHA 所属的 标签 现在我可以使用命令行轻松地执行此操作 gt git des
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo

随机推荐

  • 使用 Lua 表 C API 创建一个简单的表

    我正在运行一个 MySQL 查询 它总是返回 4 行 row gt name row gt date row gt ip row gt custom 我想要实现的是根据上述结果创建一个简单的表 因此它看起来像 name result of
  • 如何将信号作为函数参数传递?

    因此 我希望创建我们自己的通用继承复选框类 该类将能够在其构造函数中接受一些值 并弹出一个以我们需要的方式完全连接到我们的模型的小部件 目前我们在我们的视野范围内做这样的事情 connect checkboxWidget QCheckbox
  • 如何在android中使用intent发送.text文件?

    我正在使用下面的代码发送邮件 并且我需要仅使用 gmail 发送 text 文件 我该怎么做 请问有人可以帮助我吗 Intent send new Intent Intent ACTION SENDTO String uriText mai
  • 需要为 Yesod 路径定义哪些类型类?

    在我的应用程序中 我的数据模型有几个使用整数或字符串作为某些标识符的不同实例 为了安全起见 我将这些标识符包装到新类型声明中 如下所示 newtype DocId DocId Integer newtype GroupName GroupN
  • 在 Pixel 2 和 Pixel 2 XL 上接收 UDP 广播数据包

    我正在开发一个从 Wi Fi 摄像头接收 UDP 广播数据包的应用程序 在我发现 Google Pixel 2 Pixel 2 XL 接收 UDP 广播包有问题之前一直都很好 为了找出原因 我做了2个测试应用程序 一个是UPD广播发送器 h
  • Python - 作业 - 将任意基数转换为任意基数

    我正在尝试编写一个程序 将任何基数中的数字转换为用户选择的另一个基数 到目前为止我的代码是这样的 innitvar float raw input Please enter a number basevar int raw input Pl
  • Facebook 登录后调用新活动 |安卓

    我的 Android 应用程序中有 2 个活动 在第一个中 我要求用户使用 facebook 登录 用户登录后 我收集用户数据 例如电子邮件 姓名 并调用一个新活动 将这些参数传递给它 下面是我的facebook授权方法 public vo
  • PlopJS 中的异步操作

    我想在 actions 属性中使用 async await 但是 它给了我 错误 处理程序没有任何操作 我尝试过 then 但仍然失败了 这是我到目前为止所尝试过的 我想做的是通过在操作中执行反应式提示 我不知道 然后使用await但失败了
  • 两种方式将数据绑定到单例服务 Blazor 服务器端

    我一直在使用 WebAssembly 在客户端上使用 Blazor 但我想我现在应该尝试服务器端版本 并且我有一个简单的想法想要尝试 所以我的理解是 Blazor 服务器端使用 SignalR 来 推送 更改 以便客户端重新渲染其页面的一部
  • 如何在javascript中从对象数组中获取唯一的对象

    我有一系列对象 如下图所示 有没有一种方法可以让我拥有一个包含唯一对象的数组id 我们可以在下面看到id索引 0 和索引 2 相同 Is there a way that I can get an array containing obje
  • 在不同架构的集群上应该指定哪个AVX和march?

    我目前正在尝试使用英特尔编译器编译用于 HPC 集群的软件 登录节点是我编译和准备计算的地方英特尔至强金牌 6148 https ark intel com content www us en ark products 120489 int
  • 从 PHP 执行 wkhtmltopdf

    我在 Linux 命令行下运行得很好 wkhtmltopdf 入口 html 输出 pdf 但以下内容在 PHP 代码中不起作用 exec wkhtmltopdf入口 html输出 pdf 有趣的是 我用谷歌搜索了很多未经检查的解决方案 但
  • Protobuf.net 列表的对象图序列化

    据我了解 protobuf net 的列表不支持 AsReference 因此我尝试解决此限制 我创建了一个名为 SuperList 的自定义列表 其中包含包装在 SuperListItem 类型的对象中的项目 如下所示 ProtoCont
  • Shinyapp 无法像本地一样在shinyapps.io 上运行

    我正在开发 R Shiny 应用程序 最初 我将数据集加载到内存中 并根据用户的输入日期对其进行切片 例如 我下载了过去 90 天的观察结果 如果用户选择以图表形式查看过去 20 天 我仅更新图表用于计算的数据帧切片 我试图通过查找该日期的
  • 在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发

    据我所知 您无法在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发 因为您需要在您的机器上运行本地副本 我知道有一个黑客 在我的情况下 我在本地安装了 Sharepoint Foundatio
  • 如何将 ORACLE DB 中大约 300 个表的数据导出到 csv 或 txt 文件

    是否有可能使用任何 PL SQL 过程将包含数百万条记录的单个模式中的大约 300 个表中的数据导出到 CSV 或 TXT 您有什么建议 哪种方法最快 目前我不需要将这些导出的文件导入到任何其他模式 我尝试使用 Toad 手动逐表导出 我创
  • 模态视图的导航栏位置 - iOS7

    在导航控制器中 您可以按预期自动获取导航栏的正确颜色和位置 像这样 但在模式视图中 当您拖动导航栏时 您可以将其放置在顶部 这与运营商 电池信息太接近 因此 您可以将其向下拖动 猜测它与自动创建的位置匹配的程度 但随后就会出现颜色差异 我尝
  • 带下划线的 Maven 原型文件名模式

    我正在创建一个 Maven 原型 我想生成类似的文件project todo messages properties with todo由过滤属性替换 我创建了一个文件project todo messages properties和一个过
  • .NET Url 重写根 url

    我在 IIS7 中有以下规则
  • 如何将 git commit hash 分配给 Jenkins 文件中的变量

    我正在尝试将 git commit hash 分配给 Jenkins 管道中定义的变量 如下所示 GIT COMMIT HASH sh git log n 1 pretty format H 这将在 Jenkins 构建日志中打印提交哈希