HudsonをOS Xのサービスとしてインストールする方法は?
質問
ランニング ハドソン 簡単ですが、現在、ドキュメントには、OS Xのデーモン/サービスとしてランニングハドソンをインストールするためのチュートリアルが欠落しています。
生産に切り替えると、適切に構成および保護されていることを保証する必要があります。
要件:
- ポート80で実行できます
- ルートとして実行されていない(または少なくともジョブをルートとして実行していない)
- システムが適切に開始/停止することを保証します
- Webインターフェイスから直接機能する自動アップグレードを有効にします。
最良のことは、最新のハドソンをダウンロードしてインストールするインストールスクリプトを用意することです。
ハドソン・ウィキに最良の答えを統合します。
資力:
- http://wiki.hudson-ci.org/display/hudson/meet+hudson
- http://wiki.hudson-ci.org/display/hudson/automated+upgrade
- http://jrenard.info/blog/a-quick-coick-working-startup-for-for-for-mac-os-x.html
- http://wiki.hudson-ci.org/display/hudson/installing+hudson+as+aunix+daemon
- http://weblogs.java.net/blog/2009/02/10/hudson-now-good-behaving-unix-daemon
解決 2
正しい解決策は、トムキャット内にハドソンを設置し、トムキャットをデーモンとして走らせることです
また、これによりセキュリティ要件を満たし、ハドソンを簡単にアップグレードすることができます。
OS X 10.6の完全なガイドは次のとおりです。https://serverfault.com/questions/183496/full-guide-for-installing-tomcat-on-os-x/183527#183527
他のヒント
ログインするたびに地元のハドソンをMacで実行したい場合は、これを試してください。
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>
キーまたはルートとして実行されます!
ログインから開始
- 上記のように保存します
/Library/LaunchAgents/hudson.plist
初めて開始します
sudo launchctl load -w /library/launchagents/hudson.plist
または、ログアウトして戻って、同じことを自動的に行います。
再起動から開始
- 上記のように保存します
/Library/LaunchDaemons/hudson.plist
初めて開始します
sudo launchctl load -w /library/launchdaemons/hudson.plist
または、マシンを再起動します。これは自動的に同じことを行います。
ハドソンの再起動
ハドソンはOS Xで自動的に再起動できないため、停止する必要がある場合は、再起動コマンドを発行します
launchctl unload -w path_to_plist
私は時々それが最初の実行で止まらないことを発見しました launchctl unload
;そのような場合、コマンドをもう一度発行するだけです。
これは、コマンドラインからコマンドを実行しているかのように、ポート8080の下で実行されます。 .war
ファイル。
これは、「ポート80で実行する」という質問に具体的には答えられないことを認識していますが、あなた自身のラップトップで開発するためには、これがより良い選択肢であることをお勧めします。
私が持っていた小さなソリューション(ログインから始まる)はこれでした:最初にハドソンを手動で一度実行します(したがって、それは.hudson dirです)。 aを作成します Hudson.Command OSXのマシンのどこかにコンテンツを少し掲載します。
nohup java -jar .hudson/hudson.war --httpPort=8080 &
次に、システム設定を開き、ユーザーを選択してから、アイテムをログインします。 [+]ボタンをクリックすると、Finderを使用してコマンドを選択できます。
次回ログインすると、ハドソンが開始されます。
短所:
- ハドソンには特定のユーザーがいません - それはあなただけです
- ハドソンはポート8080にあります
- Hudsonは、プロセスを見つけ、それを殺し、Hudson.Commandファイルを再度開始することを意味します。
- ハドソンは、ユーザーがログインした後にのみ起動します。