当前位置: 首页 > 面试题库 >

如何从Jenkinsfile内部标记当前的git changeset?

符鸿光
2023-03-14
问题内容

我想标记当前的git changeset并从Jenkinsfile内部推送标记。如果标签已经存在,则必须将其替换。

我想使用此逻辑来标记随snapshot标记传递的内部版本,该标记将是移动标记。

我怎样才能做到这一点?


问题答案:

这是我能够以这种方式实现的方法,但是,如果您知道更好的方法,我很乐意听到。

#!groovy

stage 'build'
node {

    repositoryCommiterEmail = 'ci@example.com'
    repositoryCommiterUsername = 'examle.com'

    checkout scm

    sh "echo done"

    if (env.BRANCH_NAME == 'master') {
        stage 'tagging'

        sh("git config user.email ${repositoryCommiterEmail}")
        sh("git config user.name '${repositoryCommiterUsername}'")

        sh "git remote set-url origin git@github.com:..."

        // deletes current snapshot tag
        sh "git tag -d snapshot || true"
        // tags current changeset
        sh "git tag -a snapshot -m \"passed CI\""
        // deletes tag on remote in order not to fail pushing the new one
        sh "git push origin :refs/tags/snapshot"
        // pushes the tags
        sh "git push --tags"
    }
}


 类似资料:
  • 问题内容: 是否有办法获取Jenkinsfile中作业的当前标签(如果没有,则为null)?背景是,当此提交具有标签时,我只想构建一些工件(android APKs)。我试过了: 和 两者始终为null-即使此(https://issues.jenkins- ci.org/browse/JENKINS-34520 )表示相反 问题答案: 我会考虑而不是写入文件:

  • 我想在声明性Jenkins管道中使用git标记。我的詹金斯档案是这样的 但是环境变量总是空的。经过一些调查,我在Jenkins的日志中注意到这一点: 有没有办法告诉詹金斯跳过参数? 因为我事先不知道提交是如何标记的,所以我想从git中签出标签并将其用作变量。所以这个问题的解决方案在这里是不可行的。

  • 我想使用jsoup从网页中提取内容。这些值在内部标签中,如何提取这些值? 例如 我想提取锚点标签中的内容首页*将如何做到这一点?

  • 问题内容: 这是我的问题。我有一个html内容:innerText我需要提取“ innerText”。在Jsoup中尝试此操作时,我发现当由Jsoup解析时,内部文本超出了定位标记。 这是我的代码 输出: 为什么“ innerText”移到了定位标记之外? 问题答案: 您可以通过调用元素上的方法来访问文本。 顺便说一句 使用您发布的代码(和JSoup 1.8.1)产生以下输出

  • 我有一个字符串,其中包含各种 HTML 标记中的文本。我需要清理 HTML 标签本身,因此

  • 我有一个任务,需要在web应用程序内部的几个页面上添加一些标记。文本已经存在,但包装在其他标签中,我需要将其转换为h1标签。当我这样做的时候,我需要在页面上保持相同的设计,所以设计明智,什么都不应该改变。我们需要谷歌机器人的h1标签。 让我在下面给你展示一个例子。目前我有一页是这样的: null null 我需要在那里插入。我在internet上读到,在中添加不是一个好主意,因为我的第一个想法是用