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 ポートマッピングの手順と注意事項:
⭐️最初の 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 ログ ディレクトリの説明は次のとおりです。
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 を占有しているため、マッピングができず、コンテナの起動に失敗します。次のように変更します。 デフォルトでは、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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux CentOS6.5 yum インストール mysql5.6
目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...
公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...
目次1. 時計の新しい使い方1.1. ウォッチの使用構文1.2. 複数の属性値を監視する1.3. 参...
目次1. サーバーの状態を確認します。 2. ルートパスワードを変更します。 3. mysqlser...
前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...
Docker の作成Docker Compose は、管理対象コンテナをプロジェクト、サービス、コン...
MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...
1. MySQLをインストールする # docker で mysql をダウンロード docker ...
この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...
1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...
目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...
1. Dockerfile 内の ENV 命令は、イメージの環境変数を定義するために使用されます。次...
以前、インターネット上で動的ルーティング設定をいくつか見たことがありましたが、現在のプロジェクトとは...
コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...
序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...