标签: jenkins

Jenkins安全 - 除非用户登录,否则隐藏所有屏幕

我不知道为什么"登录用户可以做任何事情"意味着Jenkins很乐意允许未经过身份验证的用户查看项目详细信息并访问工件......无论如何,我需要知道如何让Jenkins允许登录用户访问任何东西并为未登录的用户隐藏一切.请帮忙吗?

continuous-integration jenkins

50
推荐指数
3
解决办法
2万
查看次数

查找Jenkins节点的IP

通过"Java web start"连接到Jenkins服务器的Windows从属节点.节点的系统信息没有IP地址.

我必须遍历我们拥有的所有从属节点,并找到哪个机器(IP地址)对应于Jenkins中的从属节点.

有没有办法从Jenkins本身找到从节点的IP地址?

jenkins

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

在xcode 6.1升级后,我们如何手动修复"ResourceRules.plist:无法读取资源"错误?

我们在这里,这里,这里这里都遇到了同样的问题

基本上我们升级到xcode 6.1,我们的构建正在获取"ResourceRules.plist:无法读取资源"错误.

我们有一台Jenkins服务器为我们提供ios版本.我们使用Jenkins上的Xcode插件进行实际构建和签名.有关如何在不手动打开xcode的情况下进行此更改以及在其他答案中找到此解决方案的任何想法:

单击您的项目>目标>选择目标>构建设置>

代码签名资源规则路径

并添加:

$(SDKROOT)/ResourceRules.plist

我对Xcode和iOS构建起来很新.我在Unity-iPhone.xcodeproj文件中找到了project.pbxproj文件.它看起来像包含/*Begin XCBuildConfiguration部分*/部分下的构建设置,它列出了在Xcode中找到的类似构建属性,但是我没有看到类似"代码签名资源规则路径"的内容.

有没有人有手动编辑这个文件的经验?总的来说这是个坏主意吗?

谢谢

xcode unity-game-engine jenkins xcode6.1

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

在MacOS上更改Jenkins端口

我想知道如何更改Jenkins的默认端口8080.使用linux或windows,这只需使用配置文件即可完成.但Jenkins的Mac配置文件看起来与其他文件完全不同.

当然,启动服务器时可以传递--httpPort参数,但我想在配置文件中执行此操作.

那有选择吗?

PS:通过apache传递Jenkins实例将有点解决问题,但我想更改Jenkins端口.

谢谢!

java macos port continuous-integration jenkins

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

当Maven单元测试失败时,如何使Jenkins构建失败?

我正在使用Jenkins,Maven 3.1和Java 1.6.我在Jenkins设置了以下Maven工作,具有以下目标和选项......

clean install -U -P cloudbees -P qa
Run Code Online (Sandbox Code Playgroud)

下面是我的pom.xml surefire配置...

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.17</version>
        <configuration>
                <reuseForks>true</reuseForks>
                <argLine>-Xmx2048m -XX:MaxPermSize=512M </argLine>
                <skipTests>false</skipTests>
        </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是,当我的单元测试失败时,Jenkins控制台输出仍然显示"BUILD SUCCESS"并且构建被标记为"不稳定"而不是完全失败.我如何配置Jenkins(或Maven,如果它是什么原样)的东西,以便我的构建失败(不会变得不稳定或通过),如果任何单元测试失败?

以下是控制台输出的内容

17:08:04   MyProjectOrganizationControllerTest.testRecoverFromError » IllegalState Failed to...
17:08:04   MyProjectOrganizationControllerTest.testVerifyDistrictListPopulated » IllegalState
17:08:04   MyProjectOrganizationControllerTest.testUpdateSchool » IllegalState Failed to loa...
17:08:04   MyProjectOrganizationControllerTest.testDeleteSchool » IllegalState Failed to loa...
17:08:04   MyProjectOrganizationControllerTest.testVerifyOrgListPopulatedPrivateSchoolOrgType » IllegalState
17:08:04   MyProjectOrganizationControllerTest.testSubmitMultipleParams » IllegalState Faile...
17:08:04 
17:08:04 Tests run: 155, Failures: 0, Errors: 154, Skipped: 1
17:08:04 
17:08:04 [ERROR] There are test failures.
17:08:04 
17:08:04 …
Run Code Online (Sandbox Code Playgroud)

maven jenkins maven-surefire-plugin jenkins-build-flow

49
推荐指数
2
解决办法
3万
查看次数

Docker中的Docker无法安装卷

我正在运行一个Jenkins集群,在Master和Slave中,它们都作为Docker容器运行.

主机是在MacOS上运行的最新boot2docker VM.

为了让Jenkins能够使用Docker执行部署,我已将docker.sock和docker客户端从主机安装到Jenkins容器,如下所示: -

docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v $HOST_JENKINS_DATA_DIRECTORY/jenkins_data:/var/jenkins_home -v $HOST_SSH_KEYS_DIRECTORY/.ssh/:/var/jenkins_home/.ssh/ -p 8080:8080 jenkins
Run Code Online (Sandbox Code Playgroud)

将卷安装到在Jenkins容器内运行的Docker容器时,我遇到了问题.例如,如果我需要在Jenkins容器中运行另一个Container,我会执行以下操作: -

sudo docker run -v $JENKINS_CONTAINER/deploy.json:/root/deploy.json $CONTAINER_REPO/$CONTAINER_IMAGE 
Run Code Online (Sandbox Code Playgroud)

上面运行容器,但文件"deploy.json"不是作为文件挂载,而是作为"目录"挂载.即使我将目录作为卷安装,我也无法查看生成的容器中的文件.

这是一个问题,因为Docker在Docker案例中由于文件权限?

任何指针都会有用!

谢谢!

linux containers jenkins docker

49
推荐指数
5
解决办法
1万
查看次数

如何使用Jenkins Pipeline插件实现Post-Build阶段?

在阅读了解释Pipeline插件的Jenkins 教程后,似乎插件应该可以实现Post-Build步骤.但是,文档在具体说明方面相当有限.

例如,我想知道如何实现:

  • 仅在构建成功时运行
  • 仅在构建成功或不稳定时运行
  • 无论构建结果如何都运行

(我注意到最终的构建状态被设置为SUCCESS,即使某些阶段,即'build'在基于最后阶段设置时失败了.这是否意味着最终构建状态需要明确设置,即currentBuild.result = 'UNSTABLE'?)

jenkins jenkins-workflow jenkins-pipeline

49
推荐指数
3
解决办法
7万
查看次数

如何在另一个jenkins管道B中调用jenkins管道A.

我有两个Jenkins管道,比方说管道-A和管道-B.我想在管道B中调用管道-A.我怎样才能做到这一点?

(管道-A是管道-B的子集.管道-A负责做一些可以在管道-B中重复使用的例行程序)

我在我的机器上安装了Jenkins 2.41.

jenkins jenkins-pipeline jenkins-2

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

如何有条件地建立其他项目?

我有一个相当复杂的Jenkins工作,它构建,单元测试和打包Web应用程序.根据具体情况,一旦这项工作完成,我想做不同的事情.我没有找到可重用/可维护的方法来做到这一点.是真的如此,还是我错过了什么?

我复杂的工作完成后我想要的选项:

  1. 没做什么

  2. 启动我的低风险更改构建管道:

    • 将我的WAR文件复制到我的工件库
    • 部署到生产
  3. 启动我的高风险更改构建管道:

    • 将我的WAR文件复制到我的工件库
    • 部署测试
    • 进行验收测试
    • 部署到生产

我还没有找到一个简单的方法来做到这一点.最简单但不易维护的方法是制作三个独立的工作,每个工作都会启动下游构建.这种方法让我害怕有几个原因,包括必须在三个地方而不是一个地方进行变更.此外,许多下游工作也几乎相同.唯一的区别是他们称之为下游工作.工作的激增似乎会导致无法维持的混乱局面.

我已经考虑过使用几种方法将其作为一项工作,但到目前为止还没有工作:

  1. 使工作成为一个多配置项目(https://wiki.jenkins-ci.org/display/JENKINS/Building+a+matrix+project).这提供了一种使用参数注入作业的方法.我还没有找到一种方法让"构建其他项目"步骤响应参数.

  2. 使用Parameterized-Trigger插件(https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin).此插件允许您根据特定触发器触发下游作业.但是触发器似乎限制性太强.它们都是基于构建的状态,而不是任意变量.我没有看到这里提供的任何选项适用于我的用例.

  3. 使用Flexible Publish插件(https://wiki.jenkins-ci.org/display/JENKINS/Flexible+Publish+Plugin).这个插件与参数化触发器插件有相反的问题.它有许多有用的条件可以检查,但它看起来不像它可以开始构建另一个项目.它的行动仅限于发布类型的活动.

  4. 使用Flexible Publish + Any Build Step插件(https://wiki.jenkins-ci.org/display/JENKINS/Any+Build+Step+Plugin).Any Build Step插件允许任何构建操作可用于Flexible Publish插件.虽然此插件激活后可以使用更多操作,但这些操作不包括"构建其他项目".

真的没有一个简单的方法吗?我很惊讶我没有找到它,甚至更惊讶我没有真正看到任何其他人试图这样做?我做的事情不寻常吗?有什么明显的东西让我失踪吗?

jenkins

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

如果发布新标记,jenkins会触发构建

我想配置jenkins,以便在git存储库的任何分支中发布新标记时开始构建.如何配置此行为?

我是jenkins的新人,请原谅我,如果这可能是一个非常基本的问题,但我找不到自己.

git jenkins配置

触发: 构建触发器

谢谢你的帮助

tags git jenkins

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