GitBucket

  • オープンソースのプロジェクト管理
  • 要は GitHub のようなツールをを社内とか、個人で管理したい人用のソフトウェア
  • コストとか、面倒臭さが、GitHub と GitLab の中間らしい…。

前提条件

  • OS: Raspberry Pi OS (Raspbian)
  • Web サーバ: nginx

インストール方法

  1. Java 8 をインストールする。
    $ sudo apt install openjdk-8-jre
    • Oracle 版 (oracle-java8-jdk) でも良いらしい。
  2. 非特権ユーザ (システムユーザ) を作成する。
    $ sudo adduser --system gitbucket
  3. 非特権ユーザに切り替える。
    $ sudo su - gitbucket -s /bin/bash
  4. プログラムをダウンロードする。
    $ wget https://github.com/gitbucket/gitbucket/releases/download/4.34.0/gitbucket.war
  5. 実行する。
    $ java -jar gitbucket.war --port 8080
  6. 以下のメッセージが出るまで少々待つ。
    INFO:oejs.Server:main: Started
  7. ファイアウォールを設定しているなら、8080 番ポートを開けておく。
  8. ブラウザ側からアクセスする (兼動作確認)。
  9. 右上の Sign In をクリックして、ログイン画面で、アカウント root、パスワード root でログインする。
  10. 右上の Sign In と同じ所のボタンをクリックし、Account Settings をクリックする。
  11. パスワードを別なものに変更し、下の Save ボタンをクリックする。
    • 新たに任意のユーザ名の管理者ユーザを作成し、root ユーザを削除する場合:
      1. 新たに管理者ユーザを作成する場合は、右上の Sign In と同じ所のボタンをクリックし、System Administration をクリックする。
      2. New user ボタンをクリックする。
      3. 必要情報を記入して、User Type:Administrator にする。
      4. Create user ボタンをクリックする。
      5. ユーザ一覧画面で、root ユーザの右端の Edit をクリックする。
      6. Username の下に disable があるので、チェックして、Update user ボタンをクリックすると、root ユーザを消せる。
  12. サーバの端末画面に戻り、Ctrl + c を押して、GitBucket プログラムを終了させる。
  13. ユーザを元のユーザ (管理者権限を持つユーザ) に戻す。
    $ exit
  14. 以下のコマンドを実行して、サービスファイルを作成する。
    sudoedit /etc/systemd/system/gitbucket.service
[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target
  1. サービス群をリロードする。
    $ sudo systemctl daemon-reload
  2. 自動起動するサービスとして登録する。
    $ sudo systemctl enable gitbucket
  3. GitBucket を起動する。
    $ sudo systemctl start gitbucket

参考サイト