Digital OceanとDocker Machineのテスト環境
このガイドはGitLabの異なるバージョンを素早くテストするためのものであり、将来のアップグレードを容易にしたり、作成したデータを保持したりするために推奨されるものではありません。
初期設定
このガイドでは、Digital Oceanのドロップレットを設定し、MacOSまたはLinux上でローカルにDockerをセットアップします。
MacOSの場合
Docker Desktopのインストール
Linuxの場合
Dockerエンジンのインストール
Dockerマシンのインストール
新しいDockerホストの作成
- デジタルオーシャンにログインします。
-
https://cloud.digitalocean.com/settings/api/tokensで新しいAPIトークンを生成します。
このコマンドはDockerホストとして動作する
gitlab-test-env-do
という新しいDOドロップレットを作成します。注:4GBは、複数のGitLabインスタンスを実行するDockerホストの最小要件です。- RAM: 4GB
- 名前
gitlab-test-env-do
- ドライバー
digitalocean
-
To-Do トークンを設定します:
export DOTOKEN=<your generated token>
-
マシンを作成します:
docker-machine create \ --driver digitalocean \ --digitalocean-access-token=$DOTOKEN \ --digitalocean-size "4gb" \ gitlab-test-env-do
リソース:https://docs.docker.com/machine/drivers/digital-ocean/.
GitLab テストインスタンスの作成
シェルを新しいマシンに接続します。
このインスタンスでは GitLab EE 8.10.8 を作成します。
まずDockerクライアントを、以前に作成したDockerホストに接続します。
eval "$(docker-machine env gitlab-test-env-do)"
docker
クライアントがgitlab-test-env-do
Docker ホストを使うようにするには、~/.bash_profile
ファイルに次のように追加します。
新しいGitLabコンテナの作成
- HTTPポート
8888
- SSHポート:
2222
- を使用して
gitlab_shell_ssh_port
を設定します。--env GITLAB_OMNIBUS_CONFIG
- を使用して
- ホスト名:DockerホストのIP
- コンテナ名:
gitlab-test-8.10
- GitLab バージョン:EE
8.10.8-ee.0
コンテナの設定
export SSH_PORT=2222
export HTTP_PORT=8888
export VERSION=8.10.8-ee.0
export NAME=gitlab-test-8.10
コンテナ作成
docker run --detach \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://$(docker-machine ip gitlab-test-env-do):$HTTP_PORT'; gitlab_rails['gitlab_shell_ssh_port'] = $SSH_PORT;" \
--hostname $(docker-machine ip gitlab-test-env-do) \
-p $HTTP_PORT:$HTTP_PORT -p $SSH_PORT:22 \
--name $NAME \
gitlab/gitlab-ee:$VERSION
GitLabコンテナに接続します。
DockerホストIPの取得
docker-machine ip gitlab-test-env-do
# example output: 192.168.151.134
閲覧先:http://192.168.151.134:8888/
.
対話型シェルの実行/設定の編集
docker exec -it $NAME /bin/bash
# example commands
root@192:/# vi /etc/gitlab/gitlab.rb
root@192:/# gitlab-ctl reconfigure