リモートワーク全盛の今日このごろ。
私的事情で環境が変わったこともあり、MacBook(自宅就業時には持ち帰り。以降、BU サーバ)の中に homebrew で gitbucket を入れて、ソースコード管理をしていたが、上司同僚にもイントラで公開する必要が出てきた。と言うことで、私の自宅就業時に、上司同僚が閲覧出来ない状態は都合が悪い。
そこで、
- デスクトップ端末(Mac mini: 以降、主サーバ)の方に移植
- 主サーバのイントラ公開
を行なう。
サーバ | IP | 目的 |
---|---|---|
主 | XXX.XXX.XXX.XXX | 閲覧編集(他者は閲覧のみ) |
BU | 127.0.0.1 | リモートワーク時閲覧用 |
背景
- デフォルトでの
brew services start gitbucket
による起動では、- 起動した PC にて、
http://127.0.0.1:8080
でしかアクセス出来ない。 - レポジトリ等のデータは、 ~/.gitbucket 配下に保存される。
- 起動した PC にて、
- 面倒なので、現状の最小限の修正で、移植及びイントラ公開がしたい。
- 主副双方とも M1 チップの mac。
- この gitbucket については、ユーザが自分のみのため、主サーバの方の権限変更などは考慮していない。
1. BU サーバの Homebrew 版 GitBucket の状況
readme に従い、
# インストール
% brew install gitbucket
# サービスの起動
% brew services start gitbucket
%
し、http://127.0.0.1:8080
にアクセスしてデータを蓄積更新していた。
2. BU サーバから主サーバへの移植
@BUサーバ
サービス停止
% brew services stop gitbucket
%
@主サーバ
gitbucket インストールと、起動確認
% brew install gitbucket
# サービスの起動
% brew services start gitbucket
# 主サーバに GUI で入り
# http://127.0.0.1:8080
# にアクセス。確認が取れたらストップ
% brew services stop gitbucket
%
homebrew.mxcl.gitbucket.plistの修正
.plist 内部の --host オプションの引数をデフォルトの 127.0.0.1 から、主サーバの IP(XXX.XXX.XXX) ヘ変更する。
# /PATH/TO は、homebrew のデータがある場所。私の場合は、/opt。
# 4.37.2 は数値違いの可能性有り。
% cd /PATH/TO/homebrew/Cellar/gitbucket/4.37.2
% cp homebrew.mxcl.gitbucket.plist homebrew.mxcl.gitbucket.plist.bak
# homebrew.mxcl.gitbucket.plistの修正
% vi homebrew.mxcl.gitbucket.plist
% diff homebrew.mxcl.gitbucket.plist homebrew.mxcl.gitbucket.plist.bak
13c13
< <string>--host=XXX.XXX.XXX.XXX</string>
---
> <string>--host=127.0.0.1</string>
~/Library/LaunchAgents/homebrew.mxcl.gitbucket.plist は、brew services start gitbucket
実行時に上書きされる。
本稿では、brew services
を利用予定のため修正対象とはならない。
~/.gitbucket/ の移植と修正
gitbucket.conf の base_url=http\://127.0.0.1\:8080
を
base_url=http\://XXX.XXX.XXX.XXX\:8080
へ編集する。
% cd
% mv .gitbucket .gitbucket.bak
% rsync -av bunzaemon@YYY.YYY.YYY.YYY:.gitbucket .
% cd .gitbucket
% vi gitbucket.conf
# バックアップ取り忘れのため diff は無し。
%
起動
% brew services start gitbucket
%
他のマシンから、http://XXX.XXX.XXX.XXX:8080
(主サーバ) にアクセスして乱れ無く表示されたら成功。
後は、普通に運用すれば良い。
BU サーバへのバックアップ
@BU サーバ
% brew services stop gitbucket
% cd
% rsync -av bunzaemon@XXX.XXX.XXX.XXX:.gitbucket/ .gitbucket
% cd .gitbucket
# gitbucket.conf の `base_url=http\://XXX.XXX.XXX.XXX\:8080` を
# `base_url=http\://127.0.0.1\:8080` へ編集する。
% vi gitbucket.conf
% brew services start gitbucket
%
基本的には、自宅就業時のデータの push
は翌日以降に出社した時に、主サーバへ行なう方針で。