Questions tagged «jenkins»

Jenkins是一个开源的持续集成服务器,它易于扩展,并具有丰富的插件库。

8
如何处理大量失败的测试?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我正在开发一个用Java编写的旧项目。我们有超过1000万个LOC,更糟糕的是,有4000多个功能测试。 由哈德森(Hudson)安排的测试由于每次较大的代码更改而疯狂,但都失败了。验证测试失败-如果是产品或测试中的问题,则需要几个月的时间。我们无法删除旧测试,因为我们不知道它们在测试什么! 我们能做什么?如何进行如此大量的传统测试?

7
持续集成:哪个频率?
我总是在每次提交后启动构建,但是在这个新项目中,架构师只是要求我将频率更改为“每15分钟构建一次”,而我只是不明白为什么这是一个很好的理由,而不是“以每次提交为基础”。 首先,一些细节: Objective-C(iOS 5)项目 10名开发人员 每个构建实际上需要大约1分钟的时间,其中包括构建和单元测试。 集成服务器是Mac Mini,因此这里的计算能力并不是真正的问题 我们将Jenkins与XCode插件一起使用 我的观点是,如果您在每次提交时都进行构建,那么您现在就可以查看出了什么问题,并且可以直接更正您的错误,而不会过于困扰其他开发人员。另外,这样我们的测试仪就不会受到UT错误的困扰。他的论点是,开发人员将被“构建错误”邮件淹没(这不是完全正确的,因为可以将Jenkins配置为仅针对第一个损坏的构建发送邮件),并且如果频率频繁,则无法正确完成指标构建数太高。 那么,您对此有何看法?

3
编写jenkins插件:文档在哪里?
在我当前的项目中,我们正在使用Jenkins监视我们的构建。现在他们要我写一个Jenkins插件来添加更多监视参数。 我看了一下状态监视器插件的工作方式,但无法弄清楚。我试图寻找用于编写插件的文档,但这似乎非常缺乏。(该站点仅提及如何生成基础项目,并且指的是内容不丰富的教程) 我想做的就是向每个构建添加一些选项,添加一个链接和一个监视页面。添加到主页显然是通过添加操作来完成的,但是我仍在尝试找出其余的内容。以及如何联系在一起。 没有人有任何指针,或者在哪里可以找到一些不错的文档?

2
Jenkins可以自动部署ASP.NET应用程序
是否有可能使用Jenkins自动/半自动部署ASP.NET Web应用程序。它可以在受控制或不受控制的环境中,因为不受控制的用户需要输入用户名和密码。我正在寻找将文件从目标复制到目标并在Web服务器场方案中运行sql脚本的方法。 编辑 当前,我们正在使用bat文件来xcopy /配置应用程序池/ sql cmd等,以部署应用程序。但是要使其正常工作,生产支持团队需要下载源代码,构建项目并运行bat文件以部署应用程序。 现在,我们希望自动化部署而不需要用户下载源代码,而最终用户只需访问url并填写用户ID和密码参数,然后选择svn标签即可部署。但是Jenkins在匿名登录下运行,因此现有的bat文件将无法运行,因为它没有运行脚本的权限。 因此,我想知道这种情况是否存在其他选择。如果使用输入的用户名和密码来模拟用户上下文,则可以运行现有批处理文件而无需进行进一步更改,那将是很好的选择。如果不可能,我们也想探索其他想法,但是我们没有灵活性来选择诸如puppet之类的自动化工具,我们应该坚持使用这些批处理文件。

2
部署脚本是否应该是构建的产物?
这是一个用Java编写的Web项目。 因此,我正在编写构建和部署脚本。为了创建构建,我使用了ant。詹金斯(Jenkins)完成了连续构建。 构建生成3个不同的工件: 战争档案 带布局的拉链 带图片的拉链 到目前为止,一切都很好,但是现在我需要编写部署脚本,该脚本应该: 将战争(工件1)部署到在服务器1上运行的tomcat 将工件2放置在服务器1的特定目录中 将工件3放置在服务器2的特定目录中 因此,我正在与我的同事交谈,他说我们还应该生成一个工件(也许是deploy.xml),当将其放置在正确的服务器上时,就可以部署这些工件。 因此,将有另一个脚本,它将是: 下载詹金斯文物 scp到每个服务器,并将deploy.xml放在此处 远程调用deploy.xml 使我有些不舒服的是将deploy.xml作为构建工件的行为。其背后的动机是能够进行部署而无需访问VCS存储库,因此构建将是自包含的,即,任何构建只能使用Jenkins生成的内容才能投入生产。 部署脚本应该放在哪里?它们应该只在VCS还是应该是构建工件?

2
git,maven和jenkins-版本,开发和发布构建工作流程
使用git,maven和jenkins进行以下操作的首选方式是: 我正在开发一个应用程序,我想维护它的“ dev”和“ release”分支。我希望詹金斯同时建立两者。发行工件可能具有1.5.2之类的版本,而dev-builds仅为0.0.1-SNAPSHOT。我不想有2个不同的pom.xml文件。 我查看了配置文件,但是它们似乎无法更改工件版本。我研究的一种方法可能是在测试版本中添加“限定符”。当然,我可以重命名该文件,因为关于此的真实工件信息并不重要,因为该应用程序是独立的。 这样做的首选方式是什么?还是您会怎么做?

6
混乱与稳定发展是否构成矛盾?
我是一个拥有5个团队的开发团队的成员,该团队共有大约40个开发人员。我们遵循Scrum方法,并进行了3周的冲刺。我们有一个持续集成设置(Jenkins),其构建流程需要几个小时(由于进行了广泛的自动化测试)。基本上,开发过程运行良好。 但是,我们观察到进入新的Sprint几天后,我们的构建通常会变得不稳定,并且会一直不稳定,直到Sprint结束“提交停止”为止。这样做的不利影响是,构建步骤步入了管道,尤其是UI- / Webtest 几天没有执行(因为仅在“绿色”构建时触发)。因此,新引入的错误通常仅在冲刺的后期才检测到。 每个提交都通过一组基本测试进行验证。验证后,更改将在代码检查(德语)后推送至主版本 基本单元测试每30分钟运行一次,持续时间少于10分钟 集成测试每2h运行一次,持续时间1h UI / Webtest在成功的集成测试中运行,持续时间数小时 取决于谁在冲刺期间负责构建稳定性(每个冲刺都要移交责任),可能会有中间的临时“提交停止”以使构建恢复稳定。 因此,我们想要: 我们的开发团队可以在不受阻碍的冲刺期间开发和提交更改 如果构建步骤失败,我们将放弃构建过程,因为后续的构建结果意义不大 我们的构建过程可为开发人员及时提供质量反馈 给定(2),点(1)和(3)似乎相互矛盾。有没有人有一个很好的做法来应对这个问题? (我们目前正在松开要点(2),即使在失败的构建步骤中也允许继续构建。我还没有任何反馈意见,这如何影响我们的质量) 谢谢西蒙

5
什么是持续集成(CI),它有什么用?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 有人可以向我解释持续集成的概念吗,它如何以一种易于理解的方式工作?公司为什么要在代码交付工作流程中采用CI?我是一名开发人员,而我的公司(主要是构建团队)使用Team City。作为开发人员,我总是签出,更新代码并将其提交到SVN,但总的来说,我从来没有真正担心过TeamCity或CI。所以我想了解CI的用处?CI是敏捷方法论的一部分吗?

1
詹金斯Paramerized触发器+复制工件
我正在设置Jenkins来处理我们的发行版本。一个发行版本由Windows安装程序组成,该安装程序包含一些必须在Linux上构建的二进制文件。 这是我到目前为止的内容: Windows部分和Linux部分设置为单独的Jenkins项目。 Windows项目已参数化,并使用Subversion标记进行构建和发布。 作为其构建的一部分,Windows项目将为Linux项目触发相同Subversion标记的构建(使用Parameterized Trigger插件),然后将工件从Linux项目复制(使用Copy Artifact插件)到Windows项目的工作区,以便它们可以包含在Windows安装程序中。 我受阻的地方:现在,设置“复制工件”以复制上一次成功的构建。配置“复制工件”以从参数化触发器触发的确切构建中进行复制似乎更可靠,但是我在弄清楚如何使该工作变得困难。我认为有一个用于“构建选择器”参数的选项可以帮助您解决此问题,但我无法弄清楚应如何设置(而在构建过程中花一个小时,盲目尝试不同的可能性会很痛苦。或两个来查找成功或失败)。 我应该如何设置?构建选择器如何工作?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.