相关疑难解决方法(0)

Jenkins Workflow插件中的Git变量

我想访问的git变量,如GIT_COMMITGIT_BRANCH我已签出从混帐存储库构建流中进一步下跌.目前我找不到可用的变量来访问这两个参数.

node {
    git git+ssh://git.com/myproject.git
    echo "$GIT_COMMIT - $BRANCH_NAME"
}
Run Code Online (Sandbox Code Playgroud)

这些变量是否可用,万一,我会在哪里找到它们.我不介意他们是否可以通过一些常规变量或任何地方,只是我可以访问它们.

也许我缺乏Groovy的调试技巧,这很容易找到,但我只是用我有限的技能找不到它.

git groovy jenkins jenkins-pipeline

39
推荐指数
4
解决办法
2万
查看次数

Jenkinsfile和分支的不同策略

我正在尝试将Jenkins文件用于Jenkins中的所有构建,并且我有以下问题.我们基本上有3种构建:

  • pull-request build - 它将在代码审查后合并到master,如果构建有效
  • 手动拉取请求构建 - 与上面相同的构建,但可以由用户手动触发(例如,如果我们有一些不稳定的测试)
  • 一个初始的连续交付管道 - 这将构建代码,部署到存储库,从目标服务器上的存储库安装工件并在那里启动应用程序

我应该如何将所有上述构建包含在一个Jenkins文件中.现在我唯一的想法就是创造一个巨人,如果它将检查它是哪个分支并将执行这些步骤.

所以我有两个问题:

1.在Jenkinsfile中这样做是否合适?

  1. 如何在多分支作业类型中获取当前正在执行的分支的名称?

作为参考,这是我目前的Jenkinsfile:

def servers = ['server1', 'server2']

def version = "1.0.0-${env.BUILD_ID}"

stage 'Build, UT, IT'
node {
    checkout scm
    env.PATH = "${tool 'Maven'}/bin:${env.PATH}"
    withEnv(["PATH+MAVEN=${tool 'Maven'}/bin"]) {
        sh "mvn -e org.codehaus.mojo:versions-maven-plugin:2.1:set -DnewVersion=$version -DgenerateBackupPoms=false"
        sh 'mvn -e clean deploy'
        sh 'mvn -e scm:tag'
    }
}


def nodes = [:]
for (int i = 0; i < servers.size(); i++) {
    def server = servers.get(i)
    nodes["$server"] = { …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

33
推荐指数
3
解决办法
4万
查看次数

标签 统计

jenkins ×2

jenkins-pipeline ×2

git ×1

groovy ×1