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 の長いリストをすばやく読み込む方法

推薦する

Day.js をベースにした JavaScript での日付処理のよりエレガントな方法

目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...

vue data が関数である理由をご存知ですか?

公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...

Vue 3 での watch と watchEffect の新しい使い方

目次1. 時計の新しい使い方1.1. ウォッチの使用構文1.2. 複数の属性値を監視する1.3. 参...

MySQL mysqladmin クライアントの使用の概要

目次1. サーバーの状態を確認します。 2. ルートパスワードを変更します。 3. mysqlser...

Pure CSS と Flutter はそれぞれブリージング ライト効果を実現します (サンプル コード)

前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...

Dockerの高可用性構成の詳細な説明

Docker の作成Docker Compose は、管理対象コンテナをプロジェクト、サービス、コン...

MySql の集計関数に条件式を追加する方法

MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...

Windows 上の Docker にさまざまなソフトウェアをインストールする詳細なプロセス

1. MySQLをインストールする # docker で mysql をダウンロード docker ...

Vueはコンピュータカメラを呼び出して写真機能を実現します

この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...

MySQLリモート接続権限の詳細な説明

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

JavaScript タイマーの種類の概要

目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...

Dockerfile における ENV 命令の具体的な使用法の詳細な説明

1. Dockerfile 内の ENV 命令は、イメージの環境変数を定義するために使用されます。次...

Vueでルーティング権限を動的に設定する主なアイデア

以前、インターネット上で動的ルーティング設定をいくつか見たことがありましたが、現在のプロジェクトとは...

win10 64 ビット システムに複数の JDK バージョンをインストールする際の切り替え問題と解決策の概要

コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...