如何在 OS X 上安装 Hudson 作为服务?

2023-11-27

Running hudson这很简单,但目前文档缺少在 OS X 上安装正在运行的 hudson 作为守护进程/服务的教程。

当您切换到生产时,您需要确保其配置正确并受到保护。

要求:

  • 能够在端口 80 上运行它
  • 不以 root 身份运行(或者至少不以 root 身份运行作业)
  • 确保它在系统重新启动时正确启动/停止
  • 启用自动升级,直接从 Web 界面运行。

最好的方法是有一个安装脚本来下载最新的 hudson 并安装它。

我们将把最佳答案整合到 Hudson wiki。

资源:

  • http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson
  • http://wiki.hudson-ci.org/display/HUDSON/Automated+Upgrade
  • http://jrenard.info/blog/a-quick-but-working-startup-item-for-hudson-for-mac-os-x.html
  • http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson+as+a+Unix+daemon
  • http://weblogs.java.net/blog/2009/02/10/hudson-now-good-behaving-unix-daemon

如果您希望每次登录时都在 Mac 上运行本地 Hudson,请尝试此操作。

您需要为其设置一个 launchctl plist;看起来应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>UserName</key>
 <string>yourid</string>
 <key>Label</key>
 <string>Hudson</string>
 <key>EnvironmentVariables</key>
   <dict>
     <key>HUDSON_HOME</key>
     <string>/Users/yourid/.hudson</string>
   </dict>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/bin/java</string>
 <string>-jar</string>
 <string>/Users/yourid/Hudson/hudson.war</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>

这假设您已经下载了hudson.war到你的主目录下~/Hudson,并且您希望自己运行它(可能是最好的决定。)请确保您定义了<UserName>键,否则它将以 root 身份运行!

从登录开始

  1. 将以上内容另存为/Library/LaunchAgents/hudson.plist
  2. 第一次启动它

    sudo launchctl load -w /Library/LaunchAgents/hudson.plist

或者注销并重新登录,这将自动执行相同的操作。

重新启动后开始

  1. 将以上内容另存为/Library/LaunchDaemons/hudson.plist
  2. 第一次启动它

    sudo launchctl load -w /Library/LaunchDaemons/hudson.plist

或者重新启动您的计算机,这将自动执行相同的操作。

重新启动哈德逊

Hudson 无法在 OS X 下自动重新启动,因此如果需要停止它,请发出重新启动命令

launchctl unload -w path_to_plist

我发现有时它不会在第一次执行时停止launchctl unload;在这种情况下,只需再次发出命令即可。

这将在端口 8080 下运行,就像您自己使用内置的 Winstone 服务器从命令行运行命令一样.war file.

我意识到这并没有具体回答“在端口 80 上运行”问题,但对于在您自己的笔记本电脑上进行开发,我建议这是一个更好的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 OS X 上安装 Hudson 作为服务? 的相关文章

随机推荐

  • 使用 Swift 将类中的结构保存到 NSUserDefaults

    我有一个类 类内部是一个基于全局结构的 快速 数组 我想将此类的数组保存到 NSUserDefaults 中 这是我的代码 struct mystruct var start NSDate NSDate var stop NSDate NS
  • 带有 EventHub 的达美实时表

    我正在尝试使用增量实时表从 eventhub 创建流 但我在安装库时遇到问题 是否可以使用 sh pip 使用 Delta Live 表安装 maven 库 我想安装 com microsoft azure azure eventhubs
  • 为什么编译器无法识别元模型属性?

    java se 6 项目是否支持 eclipselink jpa2 的标准 api 如果没有 那是我的问题 我是否需要在 persistence xml 中为标准 api 指定任何特殊内容 这是我的条件查询 final EntityType
  • 使用 C++ 可变长度参数时,如何从 _TCHAR * 转换为 char *?

    我们需要将一个格式 TCHAR 字符串和一些 char 字符串传递到具有可变长度参数的函数中 inline void FooBar const TCHAR szFmt const char cArgs 所以它可以这样调用 char foo
  • 如何使用 JavaMail 将多个文件附加到电子邮件?

    以下 Java 代码用于将文件附加到电子邮件 我想发送multiple通过电子邮件归档附件 任何建议 将不胜感激 public class SendMail public SendMail throws MessagingException
  • 如何为可缓存 PCIe BAR 进行 mmap

    我正在尝试编写一个自定义驱动程序mmap PCIe BAR 的函数 目标是使该 BAR 可缓存在处理器缓存中 我知道这不是实现最高带宽的最佳方法 并且写入顺序是不可预测的 本例中也不是问题 这类似于中所描述的如何阻止 MMAP 缓存值 处理
  • Chef Chef-validator.pem 安全性

    您好 我正在异地使用厨师设置一组机器 如果其中一台机器被盗 攻击者可以通过拥有chef validator pem 对我的chef server 或其他节点造成什么损害 他们还可以通过厨师获得哪些其他东西 谢谢 这是最近 Foodfight
  • Google 云端硬盘 - 无法通过经过身份验证的 (OAuth2) 请求下载缩略图

    对于所有 Google 文档 我无法从随文件响应返回的 ThumbnailLink 属性下载缩略图 我总是收到 403 禁止 错误页面 其中包含类似于以下内容的消息 您的客户端没有权限获取 URL 缩略图链接从该服务器 客户端IP地址 cl
  • 如何根据CASE执行不同的SELECT语句

    我在使用 CASE 语句执行查询时遇到问题 根据我的条件 例如长度 我想执行不同的 SQL 语句 有问题的示例查询如下 select case when char length 19480821 8 then select count 1
  • Zend Framework TDG 与 Doctrine [重复]

    这个问题在这里已经有答案了 可能的重复 什么时候应该使用 ORM 主义 什么时候应该使用 zend db table 简而言之 什么更好 为什么 我目前使用 Zend Framework TDG 但正在考虑转向 Doctrine 已经从 Z
  • 具有显式域的本地主机上的 Cookie

    我一定是错过了一些关于 cookie 的基本知识 在本地主机上 当我在服务器端设置 cookie 时and将域显式指定为 localhost 或 localhost 某些浏览器似乎不接受cookie 火狐 3 5 我在 Firebug 中检
  • 适用于 Windows 的最佳轻量级 Web 服务器(仅静态内容)[关闭]

    Closed 这个问题是无关 目前不接受答案 我在 Windows 中运行应用程序服务器 IIS6 0 并使用 Zend Server 来执行 PHP 我正在同一台计算机上寻找轻量级仅静态内容的 Web 服务器 它将重温 IIS 表单处理静
  • “类型错误:‘函数’对象不支持项目分配”

    我有两个矩阵 fi f1 Nij N11 N12 N1n f2 N21 N22 N2n fn Nn1 Nn2 Nnn 我想乘以 f1 to each element of the 1st row f2 to each element of
  • ListView光标变化和闪烁

    当光标出现在某个项目上时 我试图更改标准 ListView 上出现的光标 然而 当鼠标变为手指光标 然后又回到我要求的状态时 我得到了闪烁的效果 我试图将这种闪烁 更改隔离到手形光标 但无法弄清楚它发生在哪里或如何阻止它 为了复制这个 1
  • 如何启用 WCF 日志记录以便将其写入数据库?

    我希望能够在数据库中记录消息信息 并且我正在尝试决定如何最好地做到这一点 是否可以将 WCF 日志记录机制配置为写入数据库而不是文件 谢谢 你需要有两件事 启用 NET 跟踪的正确配置 跟踪侦听器 用于捕获跟踪消息并将其存储在数据库中 Fo
  • 实体框架 6 提供开箱即用的存储库和 UoW

    但如何使用它呢 我有一个Code First项目建立 并尝试使用这个新的 EF6 进行一些操作 阅读至少 2 岁有关 EF4 5 的各种帖子 博客 但对于 EF6 却一无所知 假设我有这些实体 public DbSet
  • 基于注释的验证框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个基于注释的验
  • PHP HTML 创建库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个 PHP 解
  • 这里的递归是如何工作的?

    Code 1 public static int fibonacci int n if n 0 n 1 return 1 else return fibonacci n 1 fibonacci n 2 你如何使用fibonacci如果你还没
  • 如何在 OS X 上安装 Hudson 作为服务?

    Running hudson这很简单 但目前文档缺少在 OS X 上安装正在运行的 hudson 作为守护进程 服务的教程 当您切换到生产时 您需要确保其配置正确并受到保护 要求 能够在端口 80 上运行它 不以 root 身份运行 或者至