Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順

Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順

1. GitLabの紹介

Gitlab 公式アドレス: https://about.gitlab.com/

GitLab は、Ruby on Rails を使用して、Web インターフェースを通じてパブリック プロジェクトまたはプライベート プロジェクトにアクセスできる自己ホスト型 Git プロジェクト リポジトリを実装するオープン ソースのバージョン管理システムです。 Github と同様の機能があり、ソースコードを閲覧したり、欠陥やコメントを管理したりできます。リポジトリへのチーム アクセスを管理でき、コミットされたバージョンを簡単に参照でき、ファイル履歴ライブラリが提供されます。チームメンバーは、組み込みのシンプルなチャット プログラム (Wall) を使用して通信できます。また、コード スニペット収集機能も提供しており、コードの再利用が容易になり、将来必要になったときに簡単に取得できるようになります。

Gitlab は、コード管理と開発者間のチームコラボレーションを非常にうまく実装できるコード リポジトリです。現在、最も広く使用されているアプリケーションは、継続的インテグレーションとデプロイメントを実現するために Jenkins と GitLab を使用することです。公式に推奨されている構成は、2 コア CPU と 4G メモリです。これは、gitlab の全体的な操作に、nginx、postgresql、prometheus、redis などの複数のプロセスが含まれるためです。

この目的のために、ここでは docker-compose を使用して、gitlab の中国コミュニティ バージョンを 1 台のマシンにデプロイし、誰もが gitlab の強力な機能をよりよく体験できるようにします。残りのナンセンスについてはあまり言及しません。とにかく作業を開始してください。 !

2. Dockerをインストールする

1. Docker依存パッケージをインストールする

[root@gitlab ~]# yum -y yum-utils デバイスマッパー永続データ lvm2 をインストールします

2. Docker-ceイメージソースを追加してインストールする

1.1) 海外の情報源(海外で働く友人に適している)

[root@gitlab ~]# yum-config-manager \
--リポジトリを追加\
https://download.docker.com/linux/centos/docker-ce.repo

1.2) 国内アリババクラウドソース(中国で働く友人に最適)

[root@gitlab ~]# yum-config-manager \
--リポジトリを追加\
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2) サーバーのパッケージ情報をローカルコンピュータにダウンロードしてキャッシュする

[root@gitlab ~]# yum makecache fast

3) Docker CEをインストールする

[root@gitlab ~]# yum -y インストール docker-ce

4) ダウンロードDockerイメージアクセラレータを構成する

海外アクセラレータ:

[root@gitlab ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io

国内アリババクラウドアクセラレータ:

:vim /etc/docker/daemon.json を実行します。
#以下を入力して保存します。
{
「レジストリミラー」: [https://9w1hl6qt.mirror.aliyuncs.com]
}

5) systemctlをリロードし、dockerを自動的に起動します。

[root@gitlab ~]# systemctl daemon-reload
[root@gitlab ~]# systemctl dockerを起動します
[root@gitlab ~]# systemctl docker を有効にする
[root@gitlab ~]# docker --version 
Docker バージョン 18.09.0、ビルド 4d60db4

3. Docker-composeをインストールする

Docker-composeバイナリをダウンロードし、実行権限を追加します。

[root@gitlab ~]# curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose
% 合計 % 受信 % 転送 平均速度 時間 時間 時間 現在
ダウンロード アップロード 合計使用時間 残り 速度
100 617 0 617 0 0 590 0 --:--:-- 0:00:01 --:--:-- 590
100 11.2M 100 11.2M 0 0 498k 0 0:00:23 0:00:23 --:--:-- 737k
[root@gitlab ~]# chmod +x /usr/local/bin/docker-compose
[root@gitlab ~]# docker-compose --version
docker-compose バージョン 1.23.2、ビルド 1110ad01

4. Gitlabをインストールする

1) docker-composeのymlファイルを編集する

[root@gitlab ~]# mkdir gitlab
[root@gitlab ~]# cd gitlab
[root@gitlab gitlab]# vim docker-compose.yml
 バージョン: '2'
 サービス:
   gitlab:
    イメージ: 'twang2218/gitlab-ce-zh:latest'
    コンテナ名: "gitlab"
    再起動: 停止しない限り
    特権: true
    ホスト名: 'gitlab'
    環境:
    TZ: 「アジア/上海」
    GITLAB_OMNIBUS_CONFIG: |
     external_url 'http://ip または nginx によって反転されたドメイン名'
     gitlab_rails['time_zone'] = 'アジア/上海'
     gitlab_rails['smtp_enable'] = true
     gitlab_rails['smtp_address'] = "smtp.163.com"
     gitlab_rails['smtp_port'] = 465
     gitlab_rails['smtp_user_name'] = "[email protected]"
     gitlab_rails['smtp_password'] = "認証コード"
     gitlab_rails['smtp_domain'] = "163.com"
     gitlab_rails['smtp_authentication'] = "ログイン"
     gitlab_rails['smtp_enable_starttls_auto'] = true
     gitlab_rails['smtp_tls'] = true
     gitlab_rails['gitlab_email_from'] = '[email protected]'
     gitlab_rails['gitlab_shell_ssh_port'] = 22
    ポート:
     - '8181:80'
     - '8443:443'
     - '22:22'
    ボリューム:
     - /opt/gitlab/config:/etc/gitlab
     - /opt/gitlab/データ:/var/opt/gitlab
     - /opt/gitlab/logs:/var/log/gitlab

ポートマッピングの手順と注意事項:

  • 公式gitlabイメージでは、コンテナポート80をホストポート8181にマッピングすることを推奨しています。
  • 公式gitlabイメージでは、コンテナポート443をホストポート8443にマッピングすることを推奨しています。
  • 公式gitlabイメージでは、コンテナポート22をホストポート22にマッピングすることを推奨しています。

⭐️最初の 2 行は同時に記述できません。空白のままにしてください。検出については、yml ファイル検出 Web サイトにアクセスしてください。

https://www.bejson.com/validators/yaml_editor/

テストが下の図のようになる場合、yml ファイルが完全に正しいことを意味します。


私の Linux サーバーでは次のようになります:

2) 関連するディレクトリを作成する

[root@gitlab gitlab]# mkdir -p /opt/gitlab/{config,data,logs}
[root@gitlab gitlab]# ls -l /opt/gitlab/
合計 0
drwxr-xr-x 2 ルート ルート 6 12月 22 12:03 config
drwxr-xr-x 2 ルート ルート 6 12月 22 12:03 データ
drwxr-xr-x 2 ルート ルート 6 12月 22 12:03 ログ

ディレクトリの説明は次のとおりです。

  • configはGitLabの設定情報を保存します
  • データストレージデータベース
  • ログ ストレージ ログ

3) gitlabイメージの中国語版を取得する

[root@gitlab gitlab]# docker pull twang2218/gitlab-ce-zh:latest
最新: twang2218/gitlab-ce-zh からプル
8ee29e426c26: プル完了
6e83b260b73b: プル完了
e26b65fd1143: プル完了
40dca07f8222: プル完了
b420ae9e10b3: プル完了
a218309dd589: プル完了
5c60fd7ba0ce: プル完了
659c2144b5a3: プル完了
8289bbac0d0e: プル完了
31bbd150e8a7: プル完了
9114e78243fa: プル完了
e242e5cd1314: プル完了
0a079dc3f92c: プル完了
f0e195b09fd2: プル完了
6e23346e2f58: プル完了
91f00659be69: プル完了
a1031bcc5b2c: プル完了
e3074327c7b1: プル完了
a917618dbe42: プル完了
ダイジェスト: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8
ステータス: twang2218/gitlab-ce-zh:latest の新しいイメージをダウンロードしました

[root@gitlab gitlab]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
twang2218/gitlab-ce-zh 最新 18da462b5ff5 4 か月前 1.61GB

4) GitLabコンテナを起動する

開始する前に、ホストマシンのポート 22 を変更する必要があります。ホストマシンがポート 22 を占有しているため、マッピングができず、コンテナの起動に失敗します。次のように変更します。
vim /etc/ssh/sshd_config

デフォルトでは、17行目を変更します: ポート2222

変更後、sshdを再起動します: systemctl restart sshd

[root@gitlab gitlab]# netstat -tulnp | grep 22
tcp 0 0 0.0.0.0:2222 0.0.0.0: LISTEN 31889/sshd
tcp6 0 0 :::2222 ::: 31889/sshd を聴く

正式リリース:

[root@gitlab gitlab]# docker-compose up -d
デフォルトドライバーでネットワーク「gitlab_default」を作成しています
Gitlab を作成しています...完了

[root@gitlab gitlab]# docker-compose ps
名前 コマンド 状態 ポート
gitlab /assets/wrapper 稼働中 (正常) 0.0.0.0:22->22/tcp、0.0.0.0:8443->443/tcp、0.0.0.0:8181->80/tcp

[root@gitlab gitlab]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
814e559dc728 twang2218/gitlab-ce-zh:latest "/assets/wrapper" 5 分前 5 分前に起動 (正常) 0.0.0.0:22->22/tcp、0.0.0.0:8181->80/tcp、0.0.0.0:8443->443/tcp gitlab

5) Gitlab設定の起動

[root@gitlab gitlab]# chmod +x /etc/rc.local
[root@gitlab gitlab]# ls -l /etc/rc.local
lrwxrwxrwx 1 root root 13 12月 3 14:31 /etc/rc.local -> rc.d/rc.local
[root@gitlab gitlab]# echo "cd /root/gitlab && docker-compose up -d" >> /etc/rc.local
[root@gitlab gitlab]# tail -1 /etc/rc.local
cd /root/gitlab && docker-compose up -d

6)Gitlab管理インターフェース

アドレス: ブラウザのymlファイルの12行目にIPまたはドメイン名を入力します。

ユーザー: root

パスワード: 初回ログイン時に手動でパスワードを設定する必要があります

次の図に示すように:


以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Clickhouse Docker クラスターの展開と構成を例を使って説明します
  • docker-compose デプロイメント PHP プロジェクト例の詳細な説明
  • Docker-compose を使用して GitLab をデプロイする方法
  • docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析
  • docker-compose を使用して Clickhouse をすばやくデプロイする方法のチュートリアル

<<:  Linux CentOS6.5 yum インストール mysql5.6

>>:  Vue の長いリストをすばやく読み込む方法

推薦する

Vueコンポーネントのルーティング強調表示問題の解決策

序文以前は、キャッシュを使用してルートを強調表示していました。すべてのルートをトラバースし、クリック...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...

Linux での MySQL のインストールに関する詳細なチュートリアル

1. MySQLサービスをシャットダウンする# service mysqld stop 2. rpm...

Docker のコンテナ データ ボリュームの概要

目次Dockerコンテナのデータ量データボリュームの使用方法1: コマンド-vを使用して直接マウント...

収集する価値のある Linux ドキュメント編集コマンド 27 個

Linux col コマンドLinux の col コマンドは制御文字をフィルタリングするために使用...

Docker ベースの MySQL マスタースレーブレプリケーション環境を構築するための実装手順

1. はじめに以前のプログラム アーキテクチャは次の形式になります。プログラムのサイズが大きくなると...

HTML 基本要約推奨事項 (テキスト形式)

HTMLテキスト書式タグ 標簽 描述 <b> 定義粗體文本 <em> 呈現...

Vue は Tencent Map を統合して API を実装します (デモ付き)

目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...

ルートパスワードを変更するための MySQL 設定、MySQL サーバー接続、MySQL 共通コマンド図

1. ルートパスワードの設定と変更mysql が起動しているかどうかを確認します。起動していない場合...

setup+ref+reactive は vue3 の応答性を実装します

セットアップは、結合された API を記述するために使用されます。テンプレートが使用できるようにする...

MySQL 5.7 データベースのインストール手順の個人的な要約

1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...

MySQLで自動作成時間と変更時間を設定する方法の例

この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...

要素の$notifyポイントについての簡単な説明

当初の意図は、element-ui の $notify 通知をコンポーネントにカプセル化することでし...

テーブルはセルとimg画像を結合してtd HTML全体を埋めます

ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...