Gogs はローカル Git サーバーを実行する最も簡単な方法です (セットアップ方法はこちら)

公開: 2023-01-03
青の背景に Gogs のロゴ。
ゴグ

コードをホストされた Git リポジトリにプッシュしたくないですか? 次に、独自の Git サーバーを社内で実行します。 Gogs はそれを行う最も簡単な方法です。 設定方法は次のとおりです。

目次

クラウドでホストされるリポジトリの問題
ゴグとは?
ゴグの取り付け方法
Gogs のクイック ツアー
最も簡単な Git サーバー - Bar None

クラウドでホストされるリポジトリの問題

間違いなく、Git は卓越したバージョン管理システムです。 開発者が 1 人のプロジェクトであっても、Git はそのバージョン管理機能により価値と利点をもたらします。 マルチ開発者プロジェクトの場合、Git はまったく別の次元をもたらします。 中央のリモート リポジトリにより、Git は、開発チームがバージョン管理を表示する方法を変革するコラボレーション機能を有効にします。

GitHub とは何ですか? また、何に使用されますか?
関連GitHub とは何ですか? また、何に使用されますか?

それが、GitHub、GitLab、BitBucket などのサービスが存在する理由であり、これらのサービスがこれほど普及し、成長している理由です。 GitHub だけでも、2 億を超えるリポジトリをホストしています。 しかし、クラウドでホストされるリポジトリは、すべての人に適しているわけではありません。 それらのほとんどは、プライベート リポジトリをホストするために課金されます。 それらのいくつかは、無料アカウントにストレージ制限、ユーザー制限、またはデータ転送制限を課します.

使用量とチームのサイズが無料アカウントの制限内に収まっていても、または商用ライセンスを支払う意思があるとしても、コード ベースをクラウドに保存することに不安を感じるかもしれません.

別の方法は、独自のネットワーク上でローカルに独自の Git サーバーをホストするか、独自のプライベート クラウドでプライベートにアクセスできるようにすることです。 GitHub やその仲間たちによって非常に人気のあるルック、フィール、およびオプションを備えた Web インターフェイスを提供する Git サーバーをセットアップするには、ある程度の技術的スキルが必要でした。 そこへゴグがやってきます。

ゴグとは?

Gogs は Go で書かれた比較的新しいプロジェクトで、インストールが簡単でありながらフル機能の Git インスタンスを提供します。 チームのサイズ、ストレージ、その他に制限はありません。

あなたが趣味のプログラマーであっても、Gogs をローカル ネットワーク上の Git サービスとして使用すると、コードのコピーを開発マシンから離れた場所に保存できます。 あなた (または他の誰か) が別のコンピューターまたは新しいコンピューターで作業したい場合は、GitHub から行う場合と同じように、Gogs サーバーからリポジトリを複製するだけです。

Gogs を頻繁に使用する場合は、Gogs を実行しているコンピューターのスタートアップ アプリケーションに追加すると便利です。

関連: systemd を使用して起動時に Linux プログラムを実行する方法

ゴグの取り付け方法

Gogs をインストールするには、適切なアーカイブ ファイルをダウンロードして解凍し、メイン バイナリを実行します。 いくつかのフォームに入力すると、Gogs がリポジトリを初期化し、管理者ユーザーとして追加します。 次に、Gogs インスタンスを参照して、ユーザーを追加し、リポジトリを作成できます。

Gogs は、バックエンド ストレージにデータベースを使用します。 MySQL、MariaDB、PostgreSQL、および TiDB をサポートしています。 これらの強力なデータベース エンジンのいずれかを使用する場合は、Gogs をインストールする前に、自分で見つけてインストールする必要があります。 小規模なチームの場合は、SQLite3 を使用できます。 SQLite3 を選択すると、自動的にインストールされます。 もちろん、 gitもインストールする必要があります。

適切なバイナリをダウンロードします。

  • 最新の Linux ディストリビューションのほとんどについては、「Linux amd64」ファイルをダウンロードしてください。
  • 32 ビット バージョンの Linux を使用している場合は、「Linux 386」ファイルをダウンロードします。
  • Raspberry Pi 2以前にインストールする場合は、「Linux armv7」ファイルをダウンロードします。
  • Raspberry Pi 3、3+、またはそれ以降にインストールする場合は、「Linux armv8」ファイルをダウンロードします。
  • Intel Mac を使用している場合は、「macOS amd64」ファイルをダウンロードします。
  • Apple Silicon Mac の場合は、「macOS arm64」ファイルをダウンロードします。

Ubuntu 22.10 を搭載した 64 ビット コンピューターにインストールするために、「Linux amd64」ZIP ファイルをダウンロードしました。 ファイルはわずか約 25 MB と小さいため、ダウンロードが非常に速くても驚かないでください。 それは正常です。

ファイル システムでファイルを見つけます。 ブラウザのデフォルトのダウンロード場所を保持している場合、ファイルはおそらく「~/Downloads」ディレクトリにあります。 それを右クリックして、コンテキスト メニューから [抽出] を選択します。 一部のファイル ブラウザでは、代わりに「Extract Here」を使用する場合があります。

ZIP ファイルからディレクトリが抽出されます。 ダウンロードしたファイルにちなんで名付けられました。 私たちの場合、それは「gogs_0.11.91_linux_amd64」と呼ばれていました。

ダウンロードしたファイルにちなんで名付けられた抽出されたディレクトリ

解凍したディレクトリをダブルクリックすると、「gogs」という別のディレクトリが表示されます。

gogs ディレクトリ

「gogs」ディレクトリをダブルクリックします。 Gogs のファイルとディレクトリが表示されます。 ファイル ブラウザ ウィンドウを右クリックし、コンテキスト メニューから [ターミナルで開く] を選択します。

Gogs インスタンスを開始するには、次のコマンドを入力します。

./gogs ウェブ

gogs Git サーバーの起動

Gogs が起動し、ポート 3000 でリッスンしていることがわかります。

Web ブラウザーを開き、Gogs が実行されているコンピューターの IP アドレスまたはネットワーク名に移動して、Gogs サーバーに接続します。 IP アドレスまたはネットワーク名の後に「:3000」を追加します。 空白を含めないでください。

Gogs が実行されているコンピューターでブラウジングしている場合は、「localhost:3000」のように、マシン名として「localhost」を使用できます。 私たちの Gogs コンピューターは「ubuntu-22-10.local」と呼ばれているため、同じネットワーク上の別のコンピューターから参照する必要があるアドレスは、ポート番号を含めて「ubuntu-22-10.local:3000」です。

これを初めて実行すると、初期設定情報を取得するフォームが表示されます。

Gogs 設定画面のデータベース選択メニュー部分

まず、「データベース タイプ」ドロップダウン メニューから「SQLite3」を選択し、「実行ユーザー」フィールドにユーザー名を入力します。

Gogs 設定画面の「Run User」フィールド

メール通知を設定する場合は、いくつかの追加手順を構成する必要があります。 使用許可のある SMTP (Simple Mail Transfer Protocol) メール サーバーを介してメールをリレーする必要があります。 Google Gmail ユーザーの場合は、Google の Gmail SMTP サーバーを使用できます。

これには、アカウントが電子メールを受け入れて中継できるように、メール サーバーの設定が必要です。 これらの設定は、メール サーバーによって異なります。

Gogs では、電子メール サーバーに関する次の情報を入力する必要があります。

  • SMTP ホスト: 電子メール サーバーのアドレスとポート。 この例では、これは smtp.gmail.com:587 にある Google の SMTP サーバーです。
  • From : メールの送信元のメールアドレス。 Gmail の場合、これは使用しているアカウントの Gmail メール アドレスである必要があります。
  • 送信者の電子メール: 上記と同じである必要があります。 これは、Gogs が SMTP サーバーと通信するために使用する電子メール アカウント ID です。
  • Sender Password : これは Gmail アカウントのパスワードではありません。 これは、アプリケーションがユーザーに代わって電子メールを送信できるようにアカウントを構成するときに、Google から取得するアプリケーション固有のパスワードです。
  • 登録確認を有効にする : Gogs にユーザーのメールを確認させるには、このチェックボックスを選択します。 新しいユーザーには、リンクが記載された電子メールが送信されます。 をクリックして、電子メール アドレスが本物であり、管理下にあることを証明する必要があります。
  • メール通知を有効にする : このチェックボックスをオンにすると、Gogs からのメール通知が許可されます。

Gogs 設定画面の「メール サービス設定」部分

もちろん、メールに悩まされたくない場合は、すべてのメール設定をスキップできます。

続行する準備ができたら、青い「Install Gogs」ボタンをクリックします。 Gogs は構成ファイルを作成し、データベース ストレージを初期化し、Git インスタンスを起動します。

メインの Gogs ホームページが表示されます。

Gogs のホームページ

最初に作成したユーザー アカウントには、自動的に管理者権限が与えられます。 「登録」リンクをクリックします。

Gogs サーバーでのアカウントの作成

「サインアップ」フォームに、アカウント名、このアカウントのパスワード (2 回入力)、および Captcha の数字を入力します。 緑色の「新しいアカウントを作成」ボタンをクリックします。 「サインイン」ページが表示されます。

Gogs へのサインイン

アカウント名とパスワードを入力し、緑色の「サインイン」ボタンをクリックします。

Gogs のクイック ツアー

他の Web アクセス Git インスタンスに少しでも慣れていれば、Gogs を簡単に理解することができます。

リポジトリが作成される前の Gogs ダッシュボード

Gogs の「ダッシュボード」ビューは、作業するリポジトリができるまでは少しまばらです。 青い「+」ボタンをクリックし、「新しいリポジトリ」フォームに入力します。

リポジトリ名、プライベートかパブリックか、および説明を要求します。

名前とその他の詳細を指定して新しいリポジトリを作成する

次の 3 つのフィールドは、テンプレートからファイルを作成します。

テンプレートからのデフォルト ファイルの作成を制御する 3 つのフィールド

  • 「.gitignore」メニューでは、選択した言語に応じた設定で構成された「.gitignore」ファイルのテンプレートを選択できます。 このメニューから複数の選択肢を選択して、開発テクノロジの混合を使用するリポジトリに対応できます。
  • 「ライセンス」メニューでは、包括的なリストからライセンスを選択できます。
  • 「Readme」メニューには、デフォルトの「README.md」ファイルという 1 つのオプションがあります。

「選択したファイルとテンプレートでこのリポジトリを初期化する」チェックボックスにチェックを入れ、緑色の「リポジトリを作成」ボタンをクリックします。

3 つの自動生成ファイルを含む新しく作成されたリポジトリ

新しいリポジトリが表示されます。 Gogs は私たちのために 3 つの標準ファイルを作成し、それらをコミット メッセージ「初期コミット」と共にリポジトリに追加しました。

リポジトリをコンピューターにクローンし、「ack.c」というファイルを追加してコミットし、リモートの Gogs リポジトリにプッシュしました。 これらはすべて、標準の Git コマンドを使用して実行されました。

ファイルをローカル リポジトリに追加して Gogs にプッシュする

予想どおり、新しいファイルが Gogs リポジトリに表示されます。

新しいファイルが正常にプッシュされたリポジトリ

ファイルをクリックすると、個々のファイルの内容が表示されます。 Markdown ファイルは、見出し、リンク、リスト、およびその他すべての Markdown 機能とともに解釈されます。 「README.md」ファイルは通常、Markdown で記述されています。

自動生成された README.md ファイルの内容

「編集」鉛筆アイコンをクリックすると、「README.md」ファイルを直接編集できます。 さらにテキストを追加し、Markdown タグを使用してハイパーリンクと斜体を挿入し、変更をコミットしました。 すべてゴグの中から。

更新された README.md ファイル

リポジトリ ビューに戻ると、更新された「README.md」ファイルが表示され、ファイル リストの「README.md」エントリに新しいコミット メッセージと更新時刻が表示されます。

新しいコミット メッセージとタイムスタンプを含む更新された README.md ファイル

最も簡単な Git サーバー – Bar None

Gogsは絶対的な勝利です。 機能性とシンプルさを完璧に融合させています。

箱から出してすぐに、愛好家や小規模な開発チームの大部分のニーズを満たします。 高度なオプションの一部は、デフォルトで「~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini」にある構成ファイルを編集することで有効になります。 パスには、使用している Gogs のバージョンが反映されることに注意してください。

一般的なシステム管理は、 Your Profile > Admin panel ] にある管理パネルから実行できます。

Gogs のドキュメントは簡潔にまとめられていますが、それは探しているものを簡単に見つけることができることを意味し、説明は十分に詳細に説明されています。

最終的に他のユーザーの制御下にあるクラウド ホスト型リポジトリに警戒している場合は、Gogs をローカルで使用することを検討してください。 機能が失われることはありませんが、制御と保証されたプライバシーが得られます。

関連: Git のバージョンを確認して更新する方法