远程构建特定的Jenkins分支

2024-04-29 09:08:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否可以在远程触发Jenkins作业时指定要构建的分支。我正在编写一个Python脚本,它涉及到运行一个特定的Jenkins构建。在

我可以从我的脚本成功地运行构建,但我想知道是否有一种方法可以使构建运行在特定的分支上。在

构建运行在Jenkins上,我使用TFS来管理我的源代码。在

这就是我调用作业的方式-我试图添加参数,但这没有做任何事。在

crumb=CrumbRequester(username="admin", password="2fa99c1e2aa61671d6b4334c8f0e77af", baseurl='http://localhost:8080/')
a = Jenkins('http://localhost:8081/', username="admin", password="2fa99c1e2aa61671d6b4334c8f0e77af", requester=crumb)
job = a.get_job("Project PR_DataCollectionWeb")
job.invoke(build_params={'GIT_BRANCH': git_branch})

我无法指定运行此作业时要生成的分支,因为无法预先确定需要运行的分支。在


Tags: 方法脚本localhosthttp远程源代码admin分支
2条回答

简单点,使用构建参数。例如,假设您在Jenkins中有以下作业定义(使用类似Groovy的伪代码):

[Project PR_DataCollectionWeb]
    parameters: { GIT_BRANCH: typeof(String), defaultValue: 'master' }

    sourceCodeManagement: {
        repositoryUrl: 'https://github.com/.../awesome.git',
        branchSpecifier: '*/$GIT_BRANCH'
    }

这使您可以使用默认值,也可以使用请求带有参数的生成的脚本提供的值。在

关键是,通过使用$VARIABLE_NAME${VARIABLE_NAME}语法,您可以轻松地在Jenkins作业配置页面的任何地方“几乎”引用构建参数。在

希望有帮助。在

另外,这里是Jenkins中关于Parametrized Build插件的简要指南。在

添加名为BRANCH的字符串参数

将变量${BRANCH}添加到源代码管理会话下的“branchs to build”(我在这里指的是git,对TFS做必要的更改)

使用以下url触发

http://<jenkins url>/job/<job name>/buildWithParameters?token=<your token>&BRANCH=<your branch>

相关问题 更多 >