根据git分支构建jenkins



大家好。我正试图解决一个问题与构建依赖于git分支。

预期结果:在"if = master"之后应该创建主文件夹。如果是" If != Master"然后各种。我怀疑这个条件根本不起作用,因为文件夹总是被创建的。

我试过了:

SET branch=%GIT_BRANCH:*/=%
if ($ branch -eq "test") {
Write-Output "Branch test"
}
if ($ branch = "master") {
MD "C:  Jenkins  workspace  Api  Api_DEV  API_Build_Master_Test  Master"
}
else {
MD "C:  Jenkins  workspace  Api  Api_DEV  API_Build_Master_Test  Various"
}

但是这个方法根本不起作用,它给出了以下错误C: Jenkins workspace Api Api_DEV API_Build_Master_Test>SET branch = test-eq在这个时候是出乎意料的。我在jenkins中为windows做步骤,也就是说,我在cmd

下执行

问题中的代码似乎是cmd和PowerShell的混合,两者都具有任何一种语言的无效语法。第一行似乎删除了GIT_BRANCH变量中第一个SOLIDUS(正斜杠)字符之前的所有内容。

这会发生什么?

SET "branch=%GIT_BRANCH:*/ =%"
if "%branch%" == "test" (ECHO Branch test)
if ("%branch%" == "master") (
MKDIR "C:JenkinsworkspaceApiApi_DEVAPI_Build_Master_TestMaster"
) else (
MKDIR "C:JenkinsworkspaceApiApi_DEVAPI_Build_Master_TestVarious"
)

更新:

SET "branch=%GIT_BRANCH:*/ =%"
if "%branch%" == "test" (ECHO Branch test)
ECHO branch is set to ===%branch%===
SET "BUILD_ROOT=C:JenkinsworkspaceApiApi_DEVAPI_Build_Master_Test"
if ("%branch%" == "master") (
IF NOT EXIST "%BUILD_ROOT%Master" (MKDIR "%BUILD_ROOT%Master")
) else (
IF NOT EXIST "%BUILD_ROOT%Various" (MKDIR "%BUILD_ROOT%Various")
)

最新更新