今まで仕事で使用してきたバージョン管理システムはSubversion(SVN)がほぼすべてで、現在OSSで欠かせないGitは未経験。今のプロジェクトはその辺好きにして良いとのことなので、Gitを使うことにしました。
とは言え、オンライン上にソースを置けるわけでもないため、GitHubでもBitbucketでもなく、GitBucketでローカルなGit環境を構築することにしました。
今回利用するソフトウェアのバージョンは下記の通りです。
macOSではコンピュータ名とホスト名が別々に設定できます。片方の変更だけでは漏れが生じますので、意図通りの設定ができているかちゃんと確認しましょう。
ホスト名の変更はシステム環境設定の「共有」から行います。表示されたダイアログで設定できるのはコンピュータ名です。ホスト名を変更するにはコンピュータ名の入力欄右下にある[編集]ボタンを押下してください。すると「ローカルホスト名」の入力欄が表示されるので、そこに希望のホスト名を入力してください。なお、末尾の「.local」は消せないようです。
入力後、[OK]ボタン押下して共有ダイアログに戻り、共有ダイアログを閉じてください。接続テストとして、LAN内の他PCから設定したホスト名でpingを打つと良いかもしれません。
ダウンロードしたgitbucket.warは、/opt/gitbucketに配置します。このディレクトリは既存のものではないので、以下のコマンドでディレクトリを作成します。
次いでデータ一式を置くディレクトリ。こちらは/var/gitbucket/reposとします。これらも既存ではないので、以下のコマンドでディレクトリを作成します。
ここまでできたら、デーモンへの登録をする前に動作確認をします。ターミナルから次のコマンドを実行してください。
つらつらとログが表示された後、プロンプトに戻らなければ起動成功です。ブラウザからhttp://[設定したホスト名(.local含む)]:8080/にアクセスすると、次の画面が表示されると思います。 確認できたら、ターミナルでControl+Cを打ってGitBucketを終了します。
今回作成するplistファイルのファイル名は「gitbucket.plist」としてください。そして、下記内容を入力してください。
保存したファイルは/Library/LaunchDaemons/にコピーしてください。
コピーしたら、あとはデーモンに登録するだけです。
デーモンへ登録するには、次のコマンドを実行してください。
これでデーモンへの登録と同時に、デーモンとしてGitBucketが起動します。ブラウザで先ほど確認を行ったURLに再びアクセスしてください。同じ画面が表示されるはずです。また、Mac Miniからログアウトした状態、もしくは再起動してユーザーが未ログインの状態でも、他PCから同アドレスにアクセスするとGitBucketが利用できるはずです。
なお、デーモンの登録解除を行う場合は、次のコマンドを実行してください。
とは言え、オンライン上にソースを置けるわけでもないため、GitHubでもBitbucketでもなく、GitBucketでローカルなGit環境を構築することにしました。
完成目標
次のような感じに使えるように環境を構築します。- ローカルネットワーク内のコンピューター複数台からMac miniのホスト名でアクセスする
- Mac miniの電源さえ入っていればGitBucketが利用できるようにする
- GitBucketのデータ一式を置く場所(ディレクトリ)は指定する
今回利用するソフトウェアのバージョンは下記の通りです。
- macOS High Sierra
- GitBucket 4.21.2
- Oracle Java Development Kit 8 update 162
ホスト名の設定
自分の備忘も兼ねて。macOSではコンピュータ名とホスト名が別々に設定できます。片方の変更だけでは漏れが生じますので、意図通りの設定ができているかちゃんと確認しましょう。
ホスト名の変更はシステム環境設定の「共有」から行います。表示されたダイアログで設定できるのはコンピュータ名です。ホスト名を変更するにはコンピュータ名の入力欄右下にある[編集]ボタンを押下してください。すると「ローカルホスト名」の入力欄が表示されるので、そこに希望のホスト名を入力してください。なお、末尾の「.local」は消せないようです。
入力後、[OK]ボタン押下して共有ダイアログに戻り、共有ダイアログを閉じてください。接続テストとして、LAN内の他PCから設定したホスト名でpingを打つと良いかもしれません。
GitBucketの手動インストール
GitBucketの実行ファイルである「gitbucket.war」はGitBucketのサイトよりダウンロードしてください。ダウンロードしたgitbucket.warは、/opt/gitbucketに配置します。このディレクトリは既存のものではないので、以下のコマンドでディレクトリを作成します。
$sudo mkdir /opt
$sudo mkdir /opt/gitbucket
$sudo mkdir /opt/gitbucket
次いでデータ一式を置くディレクトリ。こちらは/var/gitbucket/reposとします。これらも既存ではないので、以下のコマンドでディレクトリを作成します。
$sudo mkdir /var/gitbucket
$sudo mkdir /var/gitbucket/repos
$sudo mkdir /var/gitbucket/repos
ここまでできたら、デーモンへの登録をする前に動作確認をします。ターミナルから次のコマンドを実行してください。
$java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/var/gitbucket/repos
つらつらとログが表示された後、プロンプトに戻らなければ起動成功です。ブラウザからhttp://[設定したホスト名(.local含む)]:8080/にアクセスすると、次の画面が表示されると思います。 確認できたら、ターミナルでControl+Cを打ってGitBucketを終了します。
GitBucketのデーモンへの登録
macOSのデーモンへの登録は、所定のディレクトリにアプリケーション専用のplistファイルを配置し、launchctlコマンドで登録します。今回作成するplistファイルのファイル名は「gitbucket.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>Label</key>
<string>gitbucket</string>
<key>ProgramArguments</key>
<array>
<string>java</string>
<string>-jar</string>
<string>/opt/gitbucket/gitbucket.war</string>
<string>--gitbucket.home=/var/gitbucket/repos</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>gitbucket</string>
<key>ProgramArguments</key>
<array>
<string>java</string>
<string>-jar</string>
<string>/opt/gitbucket/gitbucket.war</string>
<string>--gitbucket.home=/var/gitbucket/repos</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
保存したファイルは/Library/LaunchDaemons/にコピーしてください。
コピーしたら、あとはデーモンに登録するだけです。
デーモンへ登録するには、次のコマンドを実行してください。
$sudo launchctl load /Library/LaunchDaemons/gitbucket.plist
これでデーモンへの登録と同時に、デーモンとしてGitBucketが起動します。ブラウザで先ほど確認を行ったURLに再びアクセスしてください。同じ画面が表示されるはずです。また、Mac Miniからログアウトした状態、もしくは再起動してユーザーが未ログインの状態でも、他PCから同アドレスにアクセスするとGitBucketが利用できるはずです。
なお、デーモンの登録解除を行う場合は、次のコマンドを実行してください。
$sudo launchctl unload /Library/LaunchDaemons/gitbucket.plist
謝辞
今回、下記のサイトを参考にさせて頂きました。この場を借りてお礼申し上げます。- Qiita
- Mac OSX で init.d のように Tomcat を自動起動する
- GitHub gitbucket/gitbucket Wiki
- Installation on Mac
コメント