标签: jenkins

Apt上的Jenkins用户 - 获取安装安装

我刚刚通过debian安装步骤(使用apt-get install)在我的Ubuntu服务器上安装了Jenkins.我希望我的构建从GitHub上的私有git存储库中提取.有了这个,我需要使用SSH访问来访问我的存储库.

我的大多数搜索结果刚刚说是以Jenkins用户身份登录并为我的GitHub帐户生成SSH密钥,但是通过debian软件包管理器安装,我没有Jenkins用户的密码.

那么如何为我的Jenkins服务器生成SSH密钥呢?

ubuntu continuous-integration apt-get jenkins

55
推荐指数
1
解决办法
3万
查看次数

Jenkins - 最大并发作业数

我可以在Jenkins中同时运行的最大作业数是多少?

jenkins

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

从Jenkins的credentials.xml中提取密码

我已经为Jenkins添加了SSH凭证.

不幸的是,我忘记了SSH密码,现在想从Jenkins的凭证存档中获取它,该存档位于${JENKINS_HOME}/credentials.xml.

这XML文档似乎在XML标签加密凭证<passphrase><password>.

如何检索明文密码?

jenkins

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

使用Jenkins管道将多个git repos签出到同一个作业中

我正在使用Jenkins Multiple SCM插件在我的Jenkins作业中将三个git存储库检入三个子目录.然后,我执行一组命令来构建一组工件,其中包含从所有三个存储库中提取的信息和代码.

现在折旧了多个SCM,文本建议移动到管道.我试过了,但我无法弄清楚如何让它发挥作用.

这是我有兴趣从Jenkins作业目录的顶层看到的目录结构:

$ ls
Combination
CombinationBuilder
CombinationResults
Run Code Online (Sandbox Code Playgroud)

这三个子目录中的每一个都签出了一个git repo.使用多个SCM,我使用git,然后添加"checkout to a subdirectory"行为.这是我尝试使用管道脚本:

node('ATLAS && Linux') {
    sh('[ -e CalibrationResults ] || mkdir CalibrationResults')
    sh('cd CalibrationResults')
    git url: 'https://github.com/AtlasBID/CalibrationResults.git'
    sh('cd ..')
    sh('[ -e Combination ] || mkdir Combination')
    sh('cd Combination')
    git url: 'https://github.com/AtlasBID/Combination.git'
    sh('cd ..')
    sh('[ -e CombinationBuilder ] || mkdir CombinationBuilder')
    sh('cd CombinationBuilder')
    git url: 'https://github.com/AtlasBID/CombinationBuilder.git'
    sh 'cd ..'

    sh('ls')
    sh('. CombinationBuilder/build.sh')
}
Run Code Online (Sandbox Code Playgroud)

但是,git命令似乎在工作区的顶级目录中执行(这有一定意义),并且根据语法,似乎没有checkout-to-sub-directory行为.

git jenkins jenkins-pipeline

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

詹金斯使用什么外壳?

调用shell命令时Jenkins使用了什么shell ?我在Linux机器上运行Jenkins.

jenkins

54
推荐指数
5
解决办法
6万
查看次数

在Jenkins控制台输出中回声

我正在按照指南如何使用Jenkins签署Android apk.我已经使用KSTOREPWD和KEYPWD参与了Jenkins的工作.Jenkins的作业配置(Build-> Execute shell)的一部分是获取这些参数并将它们存储为环境变量:

export KSTOREPWD=${KSTOREPWD}
export KEYPWD=${KEYPWD}
...
./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

问题是当构建结束时,任何人都可以访问构建"控制台输出"并查看输入的密码; 部分输出:

08:06:57 + export KSTOREPWD=secretStorePwd
08:06:57 + KSTOREPWD=secretStorePwd
08:06:57 + export KEYPWD=secretPwd
08:06:57 + KEYPWD=secretPwd
Run Code Online (Sandbox Code Playgroud)

所以我想在export命令输出之前抑制回声并在export命令后重新启用echo .

echo jenkins android-keystore android-gradle-plugin

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

获取Jenkins Pipeline插件中工作空间目录的绝对路径

我目前正在对Jenkins Pipeline插件(以前称为Workflow插件)进行一些评估.阅读文档我发现我目前无法使用env.WORKSPACE以下方法检索工作区路径 :

工作流脚本中当前不可使用以下变量:

NODE_LABELS

工作区

特定于SCM的变量,例如SVN_REVISION

有没有其他方法如何获得当前工作区的绝对路径?我需要运行一些测试,然后获取一些参数(一些可执行文件的绝对路径).我已经尝试new File("").absolutePath()在一个@NonCPS部分内部使用,但看起来非CPS的东西总是在主服务器上执行.

有没有人知道如何在运行某些批处理脚本的情况下获取此路径,该脚本将路径存储到某个文件中,以后可以再次读入该文件?

jenkins jenkins-workflow jenkins-pipeline

54
推荐指数
3
解决办法
11万
查看次数

在Jenkins for Git中管理SSH密钥

我正在尝试让Jenkins运行并使用Gi​​tHub托管存储库(使用Jenkins Git插件).存储库有多个git子模块,所以我不确定我是否想尝试管理多个部署密钥.

我个人的GitHub用户帐户是我希望用Jenkins引入的每个项目的合作者,因此我在其中生成了一个SSH密钥/var/lib/jenkins/.ssh并将其添加到我的个人GitHub帐户中.

但是,当我尝试将存储库URL添加到我的Jenkins项目配置时,我得到:

Failed to connect to repository : Command "git ls-remote -h git@github.com:***/***.git HEAD" returned status code 128:
stdout: 
stderr: Host key verification failed. 
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

同样,当我安排构建时,我得到:

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置这里概述的SSH配置文件,但无济于事.

谁能摆脱任何光明?谢谢

编辑

我应该补充一点,我正在运行CentOS 5.8

git ssh continuous-integration jenkins

53
推荐指数
2
解决办法
14万
查看次数

管道将参数传递给下游作业

我正在使用Jenkins v2.1和集成的交付管道功能(https://jenkins.io/solutions/pipeline/)来编排两个现有的构建(构建和部署).

在我的参数化构建中,我有3个用户参数设置,也需要在管道中进行选择.

管道脚本如下:

node: {
    stage 'build'
    build job: 'build', parameters: [[$class: 'StringParameterValue', name: 'target', value: target], [$class: 'ListSubversionTagsParameterValue', name: 'release', tag: release], [$class: 'BooleanParameterValue', name: 'update_composer', value: update_composer]]

    stage 'deploy'
    build job: 'deploy', parameters: [[$class: 'StringParameterValue', name: 'target', value: target]]
}
Run Code Online (Sandbox Code Playgroud)

这个工作正常,除了BooleanParameterValue.当我构建管道时,抛出以下错误:

java.lang.ClassCastException: hudson.model.BooleanParameterValue.value expects boolean but received class java.lang.String
Run Code Online (Sandbox Code Playgroud)

如何解决此类型转换错误?或者甚至更好,是否有一种不那么麻烦的方式,我可以将所有管道参数传递给下游作业.

groovy jenkins jenkins-pipeline

52
推荐指数
5
解决办法
8万
查看次数

在Jenkins上构建Android项目时,Gradle构建守护程序意外消失(可能已被杀死或可能已崩溃)

我有一个在Android Studio上成功构建的Android项目.

现在我想在Jenkins上构建它.但是当我正在做的时候我得到了以下错误:Gradle build daemon意外地消失了(它可能已被杀死或可能已经崩溃)

例外情况是:

org.gradle.launcher.daemon.client.DaemonDisappearedException: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
    at org.gradle.launcher.daemon.client.DaemonClient.handleDaemonDisappearance(DaemonClient.java:222)
    at org.gradle.launcher.daemon.client.DaemonClient.monitorBuild(DaemonClient.java:198)
    at org.gradle.launcher.daemon.client.DaemonClient.executeBuild(DaemonClient.java:162)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:125)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:80)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:241)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:214)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:207)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Run Code Online (Sandbox Code Playgroud)

我阅读了相关主题,但没有用.我尝试使用gradle守护进程构建它,没有它,但问题仍然存在.

android gradle jenkins

52
推荐指数
7
解决办法
5万
查看次数