标签: jenkins

如何将Jenkins用户身份验证详细信息"传递"到使用Jenkins API创建作业的脚本?

我有一个脚本,通过curl HTTP调用删除和重新创建作业,我想摆脱任何硬编码的"用户名:密码".例如curl -X POST $url --user username:password

注意事项:

  • Jenkins CLI(可能不是一个选项).一个应该能够实现与Jenkins API相同的CLI(创建作业等),但据我所知,Jenkins CLI不适合我,因为创建的作业只会在重启后出现在Jenkins中或"重新加载" "从磁盘配置",这将取消任何其他正在运行的作业.

  • API令牌.无法找到如何获取用户令牌,然后将其作为参数传递给脚本,但这可能是一个解决方案..

api curl token jenkins

63
推荐指数
4
解决办法
10万
查看次数

如何防止某些Jenkins作业同时运行?

我有几个使用共享资源(数据库)的作业,有时可能导致构建在(罕见)事件中失败,即同时触发作业.

例如,给定作业A到E,是否有任何方法可以指定A和C 不应该同时运行

除了上述资源之外,构建彼此独立(不是例如在上游/下游关系中).

"暴力"方式将执行器的数量限制为一个,但如果大多数作业可以同时执行并且构建服务器上不缺乏计算资源,那么这显然不太理想.

hudson jenkins

62
推荐指数
3
解决办法
5万
查看次数

如何从Jenkins的另一个工作中提升特定的内部版本号?

我安装了Promoted Build PluginJenkins现在开始,现在我面临一些麻烦,以促进现有工作的构建.这是场景:

  1. Nightly Build每天晚上都有一个现有的工作,运行所需的所有测试和指标;

  2. 现有Deploy Build一个接受参数$ {BUILD_NUMBER}并从中部署具有相应$ {BUILD_NUMBER}的构建Nightly Build

    • 假设[夜间构建]运行并成功构建了工件#39
    • 现在我可以在#39中作为参数运行[Deploy Build]
      • 来自[Nightly Build]#39的​​工件将被部署

到现在为止还挺好.现在是我要添加的部分Build Promotions......

这正是我需要实现的目标

有没有办法推广Nightly Build #39(注意它之前已经建成)Deploy Build?或者甚至可能来自其他地方,坦率地说,我有点迷失在这里:(

我没有看到它们具有清晰的上游/下游关系,因为它们没有:始终运行此构建,然后在执行期间运行另一个 - [部署构建]有时仅执行,而不是总是在[夜间]之后执行建立].

promotions build jenkins

62
推荐指数
1
解决办法
6万
查看次数

使用Jenkins的多分支管道"定期构建"

我正在使用Pipeline插件运行Jenkins 2.我已经设置了一个多分支管道项目,其中每个分支(主,开发等)在根目录中都有一个Jenkins文件.设置这个很简单.但是,即使代码没有改变,我也不知道如何定期运行每个分支(而不是分支索引).我需要在Jenkinsfile中添加什么才能启用定期构建?

jenkins jenkins-pipeline

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

如何在声明性Jenkins管道中的阶段之间传递变量?

如何在声明性管道中的阶段之间传递变量?

在脚本管道中,我收集的程序是写入临时文件,然后将文件读入变量.

我如何在声明性管道中执行此操作?

例如,我想基于shell动作创建的变量触发不同作业的构建.

stage("stage 1") {
    steps {
        sh "do_something > var.txt"
        // I want to get var.txt into VAR
    }
}
stage("stage 2") {
    steps {
        build job: "job2", parameters[string(name: "var", value: "${VAR})]
    }
}
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

62
推荐指数
4
解决办法
6万
查看次数

Jenkins/Hudson - 访问当前的内部版本号码?

我有一个生成的报告文件,我希望能够在Jenkins作业中将当前的内部版本号添加到该文件中.是否有可用于获取当前内部版本号的环境变量或插件?

continuous-integration hudson hudson-plugins jenkins

60
推荐指数
4
解决办法
8万
查看次数

在Jenkins中,如何将项目签出到特定目录(使用GIT)

抱歉'svn'风格 - 我们正处于从SVN迁移到GIT(包括我们的CI Jenkins环境)的过程中.

我们需要的是能够让Jenkins结帐(或者我应该说克隆?)GIT项目(存储库?)到一个特定的目录中.我们已经尝试了一些refspecs魔术,但是理解和使用成功并不是很明显.

此外,如果在同一个Jenkins项目中我们需要在项目根目录下将几个私有GitHub存储库签出到几个单独的目录中,我们怎么能这样做呢?

我们安装了GitHub插件.希望我们把事情说得对.

git hudson github jenkins jenkins-plugins

60
推荐指数
5
解决办法
14万
查看次数

使用指定回购中的Git分支动态填充Jenkins选择参数

我有一个参数化的Jenkins作业,需要在特定的Git仓库中输入特定的Git分支.目前,此参数是字符串参数.

有没有办法让这个参数成为一个选择参数,并用Git分支动态填充下拉列表?我不希望有人通过在每次创建新分支时手动配置下拉列表来维护此选项参数.

git parameters branch choice jenkins

60
推荐指数
6
解决办法
9万
查看次数

詹金斯和麦文的区别

我是这个地区的新手.Maven和Jenkins有什么区别.在我看来,它们都支持JUnit的自动构建和自动执行.如果是的话,他们是免费的吗?还是互相排斥?

java maven jenkins

60
推荐指数
2
解决办法
8万
查看次数

未为项目设置OutputPath属性

构建我的Jenkins/MSBuild解决方案给了我这个错误

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9): error : 
The OutputPath property is not set for project '<projectname>.csproj'.  Please check to
make sure that you have specified a valid combination of Configuration and Platform 
for this project.  Configuration='Latest'  Platform='AnyCPU'.  You may be seeing this 
message because you are trying to build a project without a solution file, and have
specified a non-default Configuration or Platform that doesn't exist for this project. 
[C:\<path>\<projectname>.csproj]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑

我在.csproj文件中有这个

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Latest|AnyCPU'">
    <OutputPath>bin\Latest\</OutputPath>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

msbuild jenkins

60
推荐指数
4
解决办法
7万
查看次数