Gitlab と Github の違いについては、あまり説明する必要はありません。一言でまとめると、Gitlab は企業のプライベート展開用の Git サーバーであり、Github はインターネット上の Git サーバーのオンライン バージョンです。 Github はオープンソース プロジェクト リポジトリとして無料で使用できますが、Gitlab では料金が発生しますか? Gitlab の分散バージョン管理機能も無料で使用でき、誰でも利用できるコミュニティ版 (Gitlab CE) が提供されています! Gitlab は現在 (2020 年) 非常に強力で、独自の DevOps 実装ソリューション セット (生産性を向上させるツール) を備えていますが、この機能は有料の Ultimate Edition/Enterprise Edition (Gitlab EE) で提供されています。 Github のプライベートリポジトリ作成機能も有料なのと同じように、普通です! この記事の内容はシンプルで簡単で、車のスピードも速くないので、生徒は座りすぎたり、しっかりとつかまりすぎたりする必要はありません。それでは、Gitlab サーバーをゼロから正式に構築してみましょう。 まずはBaiduでGiblab公式サイトを見つけて、ホームページにアクセスしましょう!あまり深く入り込まないでください! (将来表示されるインターフェースは異なる場合があります。時代は進み、ウェブサイトは常に更新されています。ここで紹介する一連のスクリーンショットは 2020 年 6 月のものです) この最初の画面の広告とデザインを見てください。なんと技術的で魅力的なのでしょう。→DevOps、CI、CD、これらのキーワードはそれぞれ、中国のさまざまなインターネット企業のR&Dシステムが現在(2020年)変革しようとしている方向です。 「Gitlab を無料で試す」と書かれた大きな黄色のボタンを見ました。これは「Gitlab を無料で試す」という意味で、試用後は料金が発生する GitlabEE のフラッグシップ バージョンへの入り口です。ホームページを見て回りましたが、GitlabCE の伝説的な無料コミュニティ バージョンへの入り口は見つかりませんでした。上部のナビゲーション メニュー項目「Gitlab をインストール」に移動して確認してみましょう。 または、30 日間の試用期間付きの Ultimate Edition (Enterprise Edition) への入場およびインストール手順です。ただし、ここで注意すべき重要な情報があります。「GitLab を実行するには、少なくとも 4 GB の空き RAM を推奨します」。公式の推奨事項では、GitLab を実行するには少なくとも 4 GB の空き RAM を使用することになっています。したがって、仮想マシンのインストールやサーバーの選択の際には、これに注意する必要があります。オペレーティング システム用にいくらかのスペースを残す必要があるため、少なくとも 4 GB、できれば 6 GB 以上である必要があります。 CentOS 8 の Gitlab インストール手順を確認して、必要なコミュニティ エディション (GitlabCE) があるかどうかを確認しましょう。 一見すると、まだ何もないように見えますが、CentOS 8 でのインストール手順と方法を拡張するだけです。それでは、CentOS 8 にインストールする方法を見てみましょう。調べてみると、最終的に次のようなことがわかりました。 インストール手順の最後に、「CE または EE」という短いリンクがあります。CE バージョンへの入り口があるようです。それをクリックします。 新しいページの最初の数段落では、依然として Ultimate Edition (Enterprise Edition Gitlab EE) を使用する利点について説明していますが、最後には無料の Community Edition (GitlabCE) へのリンクが「GitLab Community Edition をインストール」に配置されていました。非常に深く隠されていたため、他の人に知られることを恐れたのかもしれません。クリックを続けます: ついに来ました。アドレスバーやページ上のインストール手順の内容がCE版のものになりました(今後この記事を読む学生さんのために、Gitlab公式サイトがリニューアルされ、コミュニティエディション(GitlabCE)の入り口の場所やアドレスも変わっているかもしれませんが、Gitlabに無料版がある限り、公式サイトのどこかに入り口が必ずあるはずです!)。 Gitlab CE のインストール手順を見つけました。いつものように、新しい CentOS 8.1 仮想マシンを準備しました。公式の推奨事項によると、この仮想マシンのメモリとハードディスクはより大きく設定されています。 仮想マシンの準備ができたら、公式の GitlabCE インストール手順に従ってインストールします。実際には非常に簡単です。インストールには 3 つの手順しかありません (私は root なので、sudo は必要ありません)。 ステップ 1: policycoreutils、openssh-server、openssh-clients コンポーネントをインストールして有効にし、ファイアウォールに対して開きます (ファイアウォールをリロードすることを忘れないでください)。 # dnf install -y curl policycoreutils openssh-server openssh-clients # systemctl sshd を有効にする # systemctl sshdを起動します # ファイアウォールコマンド --permanent --add-service=http # ファイアウォールコマンド --permanent --add-service=https # systemctl をリロードして、firewalld を実行します。 電子メール通知に関連する Postfix コンポーネントは、今のところインストールして設定する必要はありません。これは、外部 SMTP サーバーを設定するときに後で残しておくことができます。 # dnf postfixをインストール # systemctl postfixを有効にする # systemctl postfix を起動する ステップ 2: curl ツールを使用して、GitlabCE バージョンの RPM インストール パッケージのリポジトリ構成スクリプトをダウンロードして構成します (仮想マシンがネットワークに接続できることを確認してください。これは RPM インストール パッケージのリポジトリ構成スクリプトのみであり、実際のインストール パッケージではないことに注意してください)。 # curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash ステップ 3: GitlabCE をインストールし、外部アクセス用の URL アドレスを指定します。注意: 外部アクセス URL アドレスでは、ドメイン名が実際には存在しない場合でも、カスタム ドメイン名が使用されます。また、サーバーに https 関連の証明書がない場合は、https を使用せず、http プロトコルを直接使用してください。クライアントを使用する場合、HOST でマッピングを行うことができます。もちろん、実際のドメイン名を使用するのが最適です。外部アクセス URL アドレスを指定するためにドメイン名を使用する必要があるのはなぜですか?後で Gitlab を使用すると、これが賢明な選択であることがわかるからです。 # EXTERNAL_URL="http://gitlab.xgclassroom.com" dnf install -y gitlab-ce この時点で、2 番目の手順で設定した外部サイトから最大 700M の gitlab-ce パッケージをダウンロードすることがいかに難しいかがわかります。10 時間以上かかると推定されます。驚きです!もちろん、国際 VPN をお持ちの場合は、私の言ったことは無視してください。 ! ! 3 番目のステップのカタツムリのような速度は耐えられません。Ctrl + C を押してダウンロード プロセスを中断し、別の方法を試してください。 他の場所から gitlab-ce rmp パッケージをダウンロードし、インストールのためにサーバーにアップロードします。オンライン インストールには国内のミラー アドレスを使用します。 ここでは、オンライン インストールに国内ミラー アドレスを使用する 2 番目の方法について説明します。ここでは、比較的包括的な手順が提供されているため、清華大学が提供するミラー サーバーを選択します (https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)。次に、手順に従って GitlabCE バージョンをインストールします (次の手順は上記の 2 番目の手順から始まります)。 新しいステップ 2: vi または vim を使用して、yum ソース構成ファイル /etc/yum.repos.d/gitlab-ce.repo を作成および編集します。 # vim /etc/yum.repos.d/gitlab-ce.repo 次の yum ソース構成情報を入力します。 [gitlab-ce] name=Gitlab CE リポジトリ ベースURL=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 有効=1 新しいステップ3: yumパッケージマネージャーを使用してGitlabCEをインストールする # yum メイクキャッシュ # yum -y gitlab-ce をインストールします 元の第 3 ステップと比較して、「新しい第 3 ステップ」には何かが欠けていることに気付きましたか? それは何でしょうか?注意深い学生なら、Gitlab サーバーの外部アクセス アドレス (EXTERNAL_URL) が設定されていないことに気づいたはずです。心配しないでください。Gitlab がインストールされるまで待ってから設定してください。国内ミラーは比較的高速です。ダウンロードとインストールには数分しかかからず、かっこいいキツネの頭のアイコンが表示されます! さて、今度は「新しい 3 番目のステップ」で、Gitlab サーバーの不足している外部アクセス アドレス (EXTERNAL_URL) を入力します。どこで設定するのでしょうか? Linux サーバーのディレクトリに詳しい人なら、世界中で使用されているバージョン管理ソフトウェアである Gitlab も、Linux の規則に従って設定ファイルを /etc ディレクトリに配置する必要があることは推測できるはずです。 cd を使用して /etc ディレクトリに移動して確認するか、ls /etc/gitl を使用してから tab キーを押して確認してください。 # ls /etc/gitlab/ gitlab.rb 案の定、Gitlab 設定ファイルが存在します。 cat コマンドを使用して確認すると、内容が多すぎて目がくらむほどであることがわかります。次に、grep コマンドを使用して、外部アクセス アドレス (EXTERNAL_URL) を含む構成コンテンツをフィルター処理します。 # grep -i 'EXTERNAL_URL' /etc/gitlab/gitlab.rb ##! external_url の設定の詳細については、以下を参照してください。 ##! この値を入力/置換するには EXTERNAL_URL が使用されます。 外部URL 'http://gitlab.example.com' # レジストリ外部 URL 'https://registry.example.com' # pages_external_url "http://pages.example.com/" # gitlab_pages['artifacts_server_url'] = nil # デフォルトは external_url + '/api/v4' # gitlab_pages['auth_redirect_uri'] = nil # デフォルトは pages_external_url のプロジェクトサブドメインと + '/auth' # gitlab_pages['gitlab_server'] = nil # デフォルトはexternal_url # mattermost_external_url 'http://mattermost.example.com' # レジストリが`external_url`と同じドメインを使用して自動的に有効化されると、 # たとえば、external_urlが2つのセカンダリで同じである場合、 # 空白の場合は、デフォルトで external_url になります。 外部アクセスアドレス (EXTERNAL_URL) について確認する必要があるのはこれですべてです。開始する前に、cp コマンドを使用して /etc/gitlab/gitlab.rb ファイルをバックアップしてください。後で文字列の直接置換などのリスクの高い操作を実行するためです。準備してください! # cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak # ls /etc/gitlab/ gitlab.rb gitlab.rb.bak 最後に、ls でバックアップが成功したことを確認したら、開始できます。 次に、sed コマンドを使用して、/etc/gitlab/gitlab.rb ファイル内の http://gitlab.example.com を http://gitlab.xgclassroom.com に置き換えます。 sed コマンドの文字列置換形式は、sed -i "s$検索するフィールド$置換するフィールド&g" ファイル名です。-i はインプレース編集、つまりインプレース編集と変更を意味します。パラメータの最初の s は検索を意味し、これは削除の d に置き換えることができます。最後の g はグローバル、つまり全文検索を意味します。 # sed -i "s#http://gitlab.example.com#http://gitlab.xgclassroom.com#g" /etc/gitlab/gitlab.rb その後、grep コマンドを使用して、外部アクセス アドレス (EXTERNAL_URL) に関連するコンテンツをフィルターします。 # grep -i 'EXTERNAL_URL' gitlab.rb ##! external_url の設定の詳細については、以下を参照してください。 ##! この値を入力/置換するには EXTERNAL_URL が使用されます。 外部 URL 'http://gitlab.xgclassroom.com' # レジストリ外部 URL 'https://registry.example.com' # pages_external_url "http://pages.example.com/" # gitlab_pages['artifacts_server_url'] = nil # デフォルトは external_url + '/api/v4' # gitlab_pages['auth_redirect_uri'] = nil # デフォルトは pages_external_url のプロジェクトサブドメインと + '/auth' # gitlab_pages['gitlab_server'] = nil # デフォルトはexternal_url # mattermost_external_url 'http://mattermost.example.com' # レジストリが`external_url`と同じドメインを使用して自動的に有効化されると、 # たとえば、external_urlが2つのセカンダリで同じである場合、 # 空白の場合は、デフォルトで external_url になります。 交換が成功したことがわかりました!しかし、興奮しすぎないでください。設定を有効にするには、gitlab-ctl ツールを使用して、変更された設定ファイルに従って gitlab サービス インスタンスを再構成する必要もあります。 # gitlab-ctl を再構成する ... GitLab システムは巨大なので、このプロセスには時間がかかりますので、しばらくお待ちください。 ... gitlab サービス インスタンスが再構成された後、gitlab-ctl ツールを使用して gitblab のサービス ステータスを表示できます。 # gitlab-ctl ステータス 実行: alertmanager: (pid 32119) 292秒; 実行: log: (pid 31878) 325秒 実行: gitaly: (pid 32004) 294 秒; 実行: log: (pid 31180) 401 秒 実行: gitlab-exporter: (pid 32013) 293 秒; 実行: ログ: (pid 31778) 342 秒 実行: gitlab-workhorse: (pid 31980) 294秒; 実行: ログ: (pid 31506) 366秒 実行: grafana: (pid 32136) 291秒; 実行: log: (pid 31951) 302秒 実行: logrotate: (pid 31615) 357秒; 実行: log: (pid 31703) 354秒 実行: nginx: (pid 31548) 363 秒; 実行: ログ: (pid 31568) 360 秒 実行: ノード エクスポーター: (pid 31998) 294 秒; 実行: ログ: (pid 31729) 347 秒 実行: postgres-exporter: (pid 32129) 291 秒; 実行: ログ: (pid 31905) 321 秒 実行: postgresql: (pid 31219) 398 秒; 実行: ログ: (pid 31326) 397 秒 実行: プロメテウス: (pid 32103) 293 秒; 実行: ログ: (pid 31843) 331 秒 実行: puma: (pid 31412) 377 秒; 実行: log: (pid 31433) 376 秒 実行: redis: (pid 30999) 410 秒; 実行: log: (pid 31038) 407 秒 実行: redis-exporter: (pid 32017) 293 秒; 実行: ログ: (pid 31807) 337 秒 実行: sidekiq: (pid 31436) 375秒; 実行: log: (pid 31454) 371秒 次のコマンドを使用して、オペレーティング システムのメモリ使用量をチェックし、メモリが gitlab に十分かどうかを確認することもできます。 # 無料 -m 使用可能な使用済み空き共有バフ/キャッシュの合計 メンバー: 3757 2063 394 82 1299 1376 スワップ: 8191 12 8179 上記の結果で Swap パーティションがあまり使用されていない場合は、基本的に gitlab サービスにメモリが十分であることを意味します。Swap パーティションが大量に占有されている場合は、マシンにメモリを追加することを検討する必要があります。仮想マシンにメモリを追加するのは非常に簡単なので、詳細には触れません。 最後に、IP アドレスまたはドメイン名を使用して、仮想マシンのホスト ブラウザーから gitlab サービスにアクセスします (ドメイン名を使用する場合は、まずホストの C:\Windows\System32\drivers\etc\hosts でドメイン名と IP アドレスのマッピングを構成する必要があります。そのため、実際にはまだ IP です)。 上のスクリーンショットに示すように、自分の Gitlab サーバーに正常にアクセスできることがわかります。 初めて使用する場合は、Gitlab サービスのスーパー管理者ルート アカウントのパスワードを変更する必要があります。 パスワードを変更したら、ログインして楽しむことができます。 IT 担当者は Gitlab の使い方をよく知っていると思うので、今はそれについては話しません。クライアント SSH キーの適用に加えて、注意すべき点が 1 つあります。Git for Windows などの Git クライアント ツールによって読み取られるキー ファイル名はデフォルトで合意されているため (構成によって変更することもできますが、非常に面倒です)、ssh-keygen によって生成されたクライアントのデフォルトのキー ファイル名を変更しないでください。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLデータテーブルの基本操作:テーブル構造の操作、フィールド操作例の分析
>>: JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明
目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...
Centos7 スイッチブートカーネル注: 必要に応じて、最初にyum update -yを実行して...
目次序文1. 少ない2. コンポーネントをインポートする3. 設定ファイルを変更するステップ1: l...
目次1. ラベルステートメントの紹介2. ラベルステートメントの使用序文:日常の開発では、プログラム...
Linux オンラインインストール関連コマンド: yum install: すべてインストールyum...
このドキュメントを作成した当時は2019年12月頃で、er2.200が最新バージョンでした。 1.画...
1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...
目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...
テーブルフィールドを追加する テーブルtable1を変更し、トランザクタvarchar(10)をNu...
目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...
記事のタイトルが「模造虫眼鏡」なのはなぜですか?今日お話ししたいのは、一般的に言われているような、マ...
Web 標準に準拠した Web ページの構築は、jb51.net が常に全員と議論しているトピックで...
Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...
序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...
1. はじめに外部キー制約を使用するかどうかという話題は、すでに決まり文句になっています。学校では、...