2

Mac OS Xシステムで異なるHTTPポート(つまり7070と7071)でJenkinsの2つのデーモンを実行する方法。

1)Jenkinsホームディレクトリを含む、各dameon用の2つのアカウントを作成します:jeankins1、jenkins2

2)デフォルトのdameon構成ファイルを複製します

sudo cp /Library/LaunchDaemons/org.jenkins-ci.plist /Library/LaunchDaemons/jenkins-dameon-1.plist
sudo cp /Library/LaunchDaemons/org.jenkins-ci.plist /Library/LaunchDaemons/jenkins-dameon-2.plist

3)dameon構成ファイルを変更します

sudo vi /Library/LaunchDaemons/jenkins-dameon-1.plist

jenkins-dameon-1.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>EnvironmentVariables</key>
        <dict>
                <key>JENKINS_HOME</key>
                <string>/Users/jenkins1/Jenkins/Home</string>
        </dict>
        <key>GroupName</key>
        <string>wheel</string>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>org.jenkins-ci</string>
        <key>ProgramArguments</key>
        <array>
                <string>/bin/bash</string>
                <string>/Library/Application Support/Jenkins/jenkins-runner.sh</string>
                <string>--httpPort=7070</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>jenkins1</string>
        <key>SessionCreate</key>
        <true />
</dict>

sudo vi /Library/LaunchDaemons/jenkins-dameon-2.plist

jenkins-dameon-2.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>EnvironmentVariables</key>
        <dict>
                <key>JENKINS_HOME</key>
                <string>/Users/jenkins2/Jenkins/Home</string>
        </dict>
        <key>GroupName</key>
        <string>wheel</string>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>org.jenkins-ci</string>
        <key>ProgramArguments</key>
        <array>
                <string>/bin/bash</string>
                <string>/Library/Application Support/Jenkins/jenkins-runner.sh</string>
                <string>--httpPort=7071</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>UserName</key>
        <string>jenkins2</string>
        <key>SessionCreate</key>
        <true />
</dict>

4)2つのJenkinsデーモンを起動します

sudo launchctl load /Library/LaunchDaemons/jenkins-dameon-1.plist
sudo launchctl load /Library/LaunchDaemons/jenkins-dameon-2.plist

httpPortパラメータを渡す方法が正しくないようですが、どうすればよいですか?

このソリューションは1つのインスタンスでのみ機能します:別のポートで実行するようにJenkins MacOSXネイティブパッケージを構成します

4

2 に答える 2

2

私のPLISTファイルでは、jenkins-runner.shスクリプトではなく、Java実行可能ファイルを使用しています。

jenkins-dameon-1.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>EnvironmentVariables</key>
    <dict>
        <key>JENKINS_HOME</key>
        <string>/Users/jenkins1/Jenkins/Home</string>
    </dict>
    <key>GroupName</key>
    <string>daemon</string>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>jenkins1</string>
    <key>ProgramArguments</key>
    <array>
                <string>/usr/bin/java</string>
                <string>-jar</string>
                <string>/Applications/Jenkins/jenkins.war</string>
                <string>--httpPort=7070</string>
                <string>--ajp13Port=-1</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>UserName</key>
    <string>jenkins1</string>
        <key>SessionCreate</key>
    <true />
</dict>
</plist>

jenkins-dameon-2.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>EnvironmentVariables</key>
    <dict>
        <key>JENKINS_HOME</key>
        <string>/Users/jenkins2/Jenkins/Home</string>
    </dict>
    <key>GroupName</key>
    <string>daemon</string>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>jenkins2</string>
    <key>ProgramArguments</key>
    <array>
                <string>/usr/bin/java</string>
                <string>-jar</string>
                <string>/Applications/Jenkins/jenkins.war</string>
                <string>--httpPort=7071</string>
                <string>--ajp13Port=-1</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>UserName</key>
    <string>jenkins2</string>
        <key>SessionCreate</key>
    <true />
</dict>
</plist>
于 2012-08-16T12:47:07.243 に答える
1

起動用のOSXのインストールの一部として作成された3つのファイルがあります。

  1. /Library/Preferences/org.jenkins-ci.plist
  2. /Library/Application\Support/Jenkins/jenkins-runner.sh
  3. /Library/LaunchDaemons/org.jenkins-ci.plist

これを正しく行うには、3つのファイルすべてのコピーを作成して編集する必要があります。

ファイル1は、ポートを設定できる場所です。これを行うには、ここで説明されているデフォルトのコマンドを使用する必要があります(ファイル名をコピーに変更します):https ://wiki.jenkins-ci.org/display/JENKINS/Thanks+for+using+OSX+Installer

ファイル2は、Jenkinsを起動してデフォルトを読み取るためのシェルスクリプトです。ファイルのコピーを編集して、defaults =行のファイル1(.plist拡張子を除く)のコピーを指すようにします。

ファイル1は、デーモンの起動を制御します。次のように編集します。

  • 元のシェルスクリプトではなく、ファイル2のコピーをポイントします
  • 必要に応じて、標準出力用に別のログディレクトリを指定します
  • 必要に応じて、標準エラーの別のログディレクトリをポイントします
  • 別のJENKINS_HOMEディレクトリを指す
  • 新しいファイル名を反映するようにラベルを変更します
  • 必要に応じて別のユーザーを指定するには

次に、異なるポートで2つの異なるデーモンを起動するために必要なすべてのものが必要です。

于 2013-10-09T23:00:33.080 に答える