配置 Hudson 来部署构建

2023-12-19

我正在尝试配置 Hudson,以便能够自动将构建(.war 文件)部署到 Tomcat。然后,新部署的构建将被某人用来测试应用程序。

我尝试使用部署插件自动部署 .war 文件,这有效。但是,构建 .war 文件的作业将在每次 scm 更改后(每当提交代码时)运行。使用部署插件,每次构建时都会将 .war 文件部署到 Tomcat。由于代码频繁提交,这意味着 Web 应用程序也会频繁重新启动,这将中断测试过程。

我很欣赏 Hudson 运行我的单元测试并定期进行构建,所以我不想更改这项工作的触发器。

我正在寻找一种可以手动决定从 Hudson 内部部署的方法。我尝试创建一个单独的作业来部署第一个作业中的 .war,但这不起作用。有没有人有设置类似这样的东西的经验?


神器获得方法

请看“如何回滚或重新部署以前的构建” 在部署插件页面 http://wiki.hudson-ci.org/display/HUDSON/Deploy+Plugin。它描述了基本思想。它使用复制神器插件 http://wiki.hudson-ci.org/display/HUDSON/Copy+Artifact+Plugin将工件从构建作业复制到当前作业(部署作业)。从那里您可以执行与构建步骤中相同的操作。

如何触发部署

启动部署后无法触发构建作业,因此首先运行构建,然后运行部署作业。所以有几个选择:

  • 手动触发构建。启动部署的用户需要选择构建作业的特定运行。
  • 预定部署这可能是夜间任务的一部分。该作业会在一定的时间间隔(例如每天晚上或每个周末)触发。由于它是自动化的,部署作业应该获取最后一次成功的构建(那么您不需要参数化作业)。您没有机会传递运行号码。
  • 部署作业得到每次构建成功完成时触发(不符合您的要求,但列出以完成列表)
  • Some 其他(深奥的)触发器。这可以有很多不同的想法,例如通过调用构建 URL 远程触发。该呼叫可以来自您的票务系统、测试实验室管理系统或您喜欢的任何其他系统之一。您还可以通过源代码控制系统中的特定更改来触发部署,例如更改版本号(例如,在提交消息中用关键字标记)。该触发器可以在 Hudson 内部或外部实施。还有其他可用的触发器。这包括但不限于 html 页面更改、文件系统受监控部分的更改、IM 消息、电子邮件。前三个是由 Hudson 插件实现的。查看插件列表,了解哪些是可用的 或者在这两种情况下,您都需要确保构建作业存档部署所需的所有工件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 Hudson 来部署构建 的相关文章

随机推荐

  • 如何升级密码存储方案(更改哈希算法)

    我被要求对 Intranet 站点实施一些更改 更新 正如他们所说 使其成为 面向未来 我们发现密码是使用 MD5 算法进行哈希处理的 该系统自 2001 年以来就已经存在 所以当时已经足够了 我们现在想要将哈希算法升级为更强的算法 BCr
  • (function(){})() 和 (function(){}()) 之间的区别,自调用匿名函数[重复]

    这个问题在这里已经有答案了 看看括号的位置 有什么不同吗 函数 function 和 func function 从技术上讲 第一个定义了一个匿名函数 然后调用它 第二个定义了一个匿名函数 该函数在定义时调用自身 实际上 它们是相同的
  • 执行命令时如何在atom中设置环境变量

    我正在尝试将我的环境变量设置为 env DEBUG babel 但我不知道在 Atom 编辑器中哪里可以使用这个设置 要使 shell 的环境变量可供 Atom 使用 请安装以下两个小 Atom 包 来自 shell 的环境 https a
  • PHP 检测 Fetch Api 与 XMLHttpRequest

    截至目前 我的网站正在使用 jQuery Ajax 从前端向后端发出请求 然后后端通过检查 SERVER HTTP X REQUESTED WITH XMLHttpRequest 来确定 ajax 请求 我正在尝试仅切换到本机 JS 并且想
  • 访问公共 AWS s3 存储桶

    我们一群朋友正在做一个 Map Reduce 项目 并且正在处理一个通用数据集 我的朋友已使用他的 AWS 帐户将数据上传到 s3 存储桶 并将 s3 存储桶策略设置为 Version 2008 10 17 Id Policy1417380
  • 特征仅适用于对象吗?

    又在尾巴上这个问题 https stackoverflow com q 68575795 891440 我正在尝试做一个will特质工作 使用这个 打高尔夫球的 代码 sub show value a var say Value of a
  • 通用构造函数和反射

    是否可以看出哪个构造函数是通用构造函数 internal class Foo
  • 执行策略“SqlServerRetryingExecutionStrategy”不支持用户启动的事务

    我有一个 ASP NET Core 5 MVC Web 应用程序 使用 Entity Framework Core 5 我们实现 Web 组件 例如网格或电子表格 我们与 Telerik 合作 当我在组件中进行一些更改 然后尝试保存更改时
  • Highcharts 气泡图数据标签重叠

    如图所示 与小提琴的代码不同 但显示了问题 使用 Highcharts 新的气泡图 数据标签似乎喜欢坐在彼此的顶部 有一个简单的解决方法吗 我很乐意在每个标签的基础上手动更改 z index 但这似乎不适用于气泡图 这是一些无法按预期工作的
  • Matlab 中的 KNN 回归

    Matlab中的k近邻回归函数是什么 只有knn分类功能可用吗 有人知道与此相关的任何有用的文献吗 Regards Farideh 我不相信 k NN 回归算法是直接在 matlab 中实现的 但是如果你进行一些谷歌搜索 你可以找到一些有效
  • 将多个命令绑定到屏幕中的单个键?

    如何将多个命令绑定到 gnu screen 中的一个键 我想合并两个映射 bind c copy bind b eval writebuf exec sh c xsel clipboard lt tmp screen exchange 到单
  • youtube - 无法在轮播/滑块中滑过 iframe

    我有一个带有轮播的响应式网站 用户可以将 YouTube 视频嵌入为其中一张幻灯片 在桌面上这工作正常 然而 在移动设备上 iframe 显然会吃掉所有滑动事件 并且您无法滑过视频 我们必须通过替换视频图像然后使用来解决这个问题window
  • Javascript 事件 addEventListener 为同一函数注册多次;使用 OOP JavaScript

    我正在使用面向对象的 Javascript 并结合注册事件侦听器 根据我对事件监听器的理解 如果应用于 eventtarget 的函数已经注册 则重复尝试添加相同的事件监听器将被忽略 换句话说 它应该只触发一次 但下面的代码并非如此 也可以
  • 使用 JSON 序列化/反序列化 Pandas DataFrame 时如何保留索引的时区

    我需要使用以下方法将 Pandas DataFrame 序列化为 JSONto json方法 这是我如何做到这一点的一个例子 import pandas import numpy as np dr pandas date range 201
  • Hibernate - 第二个查询给出未知的服务请求

    我试图更好地理解 Hibernate 的工作原理 我有一个无法解决的问题 当应用程序启动时 它会进行查询 Session session HibernateUtil getSessionFactory getCurrentSession s
  • 在内部专用网络上保护 SOAP Web 服务的最佳方法是什么

    如今 越来越多的 Web 服务是为内部使用而开发的 用于将应用程序连接在一起 我们没有 ESB 来控制和保护此 Web 服务 因此我猜测什么是保护它们的好方法 我们尝试设置双向 SSL 但无法控制特定 Web 服务的授权 我的需要是能够控制
  • 通过输入前几个字符跳转到列表框项目

    我有一个项目列表 可能很大 用户必须从中选择一个 我想允许用户输入前几个字母所需项目的跳转到列表中的正确位置 默认情况下 每次按键都会跳转到以该字母开头的第一个项目 因此您无法键入第一个项目several字母 有什么简单的方法可以做到这一点
  • golang 切片分配性能

    在检查 GO 中内存分配的性能时 我偶然发现了一件有趣的事情 package main import fmt time func main const alloc int 65536 now time Now loop 50000 for
  • 如何从 Postgres 中的 CTE(公用表表达式)删除记录

    我在 Postgres 中使用 CTE 编写了以下查询 现在我无法从中删除记录 WITH cte AS SELECT firstname lastname country ROW NUMBER OVER PARTITION BY first
  • 配置 Hudson 来部署构建

    我正在尝试配置 Hudson 以便能够自动将构建 war 文件 部署到 Tomcat 然后 新部署的构建将被某人用来测试应用程序 我尝试使用部署插件自动部署 war 文件 这有效 但是 构建 war 文件的作业将在每次 scm 更改后 每当