Digital OceanとDocker Machineのテスト環境

このガイドはGitLabの異なるバージョンを素早くテストするためのものであり、将来のアップグレードを容易にしたり、作成したデータを保持したりするために推奨されるものではありません。

初期設定

このガイドでは、Digital Oceanのドロップレットを設定し、MacOSまたはLinux上でローカルにDockerをセットアップします。

MacOSの場合

Docker Desktopのインストール

Linuxの場合

Dockerエンジンのインストール

Dockerマシンのインストール

注:残りの手順はMacOSとLinuxで同じです。

新しいDockerホストの作成

  1. デジタルオーシャンにログインします。
  2. https://cloud.digitalocean.com/settings/api/tokensで新しいAPIトークンを生成します。

    このコマンドはDockerホストとして動作するgitlab-test-env-do という新しいDOドロップレットを作成します。

    注:4GBは、複数のGitLabインスタンスを実行するDockerホストの最小要件です。
    • RAM: 4GB
    • 名前gitlab-test-env-do
    • ドライバーdigitalocean
  3. To-Do トークンを設定します:

    export DOTOKEN=<your generated token>
    
  4. マシンを作成します:

    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

リソース