Omnibus GitLab 開発セットアップ

要件

OpenShiftをオールインワンでインストールすると、GitLabをテストするためにコンピュータに少なくとも5Gbの空きRAMが必要になります。

  • それ以下のバージョンでは動作しません。
  • Minishiftベースのセットアップには、以下のいずれかが必要です:
    • Linux: KVM 0.7.0
    • Mac OSX: xhyve 0.3.1
  • Dockerベースのセットアップには、Docker >= 1.10 and < 17.00が必要です。
  • Ansible ベースのセットアップには、RHEL 互換のホストが必要です。
    • RHEL/CentOS/Fedora/Atomic

OpenShift Originのセットアップ

OpenShift Originと対話するために最初に必要なのは、ターミナル用のoc クライアントツールです:

  1. OpenShift Originクライアントツールをお持ちでない場合は、ダウンロードしてインストールしてください。

次に、OpenShift Origin環境をセットアップする必要があります。 環境をセットアップするには、クラウドマシン上で本番用インストーラを使用するか、ローカルマシン上でminishiftを使用するか(kvmまたはxhyveを使用)、プライマリ用にDockerを使用してインスタンスをセットアップし、セカンダリとして自分のマシンを使用します。oc cluster up

ミニシフト

Minishiftのインストール方法については、以下をご覧ください。http://docs.okd.io/3.11/minishift/getting-started/installing.html

  1. Minishiftをインストールする前に、適切なDockerマシンドライバをインストールする必要があります。
  2. Minishiftをインストールします

  3. GitLabを実行するのに十分なCPU/メモリでMinishiftを起動します:minishift start --cpus 4 --memory 6144
    • 起動が終わると、コマンドはウェブコンソールの場所を出力します。
  4. Minishiftは内部的にocクラスターアップメソッドを使用しています。

  5. UIへのログインは以下から可能です。https://<your_local_minishift_ip>:8443/console/
    • minishiftのIPは、minishiftを起動した後に表示されますが、後で以下を実行することでも見つけることができます。minishift ip

Docker ocクラスター立ち上げ

注意:以下の情報は古い可能性があります。 クラスターのセットアップに関する最新情報については、OKDのドキュメントを参照してください。

Dockerがインストールされていれば、ローカルマシンでOpenShift Originをセットアップできます:https://github.com/openshift/origin/blob/77bf0a926c045142570bb50a9a83086a370506a8/docs/cluster_up_down.md

**Note:現在、新しいバージョンスキーム(17.xx)でdocker-ce/ee を使用している場合、これは起動しません。

  1. 端末でoc cluster up --host-data-dir='/srv/openshift'
    • ocクラスターはホストのポート80にアクセスする必要があるので、OpenShiftを使用している間はWebサーバーを停止する必要があります。
  2. ストレージと権限を割り当てる新しいネームスペースを作成します。
    • oc new-project <namespace>
  3. システム管理者としてログイン
    • oc login -u system:admin
  4. GitLab ポッドを root 権限で実行するには、anyuid セキュリティコンテキストを編集する必要があります:
    • oc adm policy add-scc-to-user anyuid system:serviceaccount:<namespace>:<gitlab-app-name>-user
    • (gitlab-app-name は GitLab をインストールするときの最初の設定オプションで、デフォルトはgitlab-ceです )
  5. GitLabが使用するPersistent Volumesを作成します。
    • 以下のファイルを作成してください:
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0001
    spec:
      capacity:
        storage: 5Gi
      accessModes:
      - ReadWriteOnce
      hostPath:
        path: /srv/openshift-gitlab/pv0001
      persistentVolumeReclaimPolicy: Recycle
    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0002
    spec:
      capacity:
        storage: 5Gi
      accessModes:
      - ReadWriteOnce
      hostPath:
        path: /srv/openshift-gitlab/pv0002
      persistentVolumeReclaimPolicy: Recycle
    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0003
    spec:
      capacity:
        storage: 5Gi
      accessModes:
      - ReadWriteOnce
      hostPath:
        path: /srv/openshift-gitlab/pv0003
      persistentVolumeReclaimPolicy: Recycle
    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0004
    spec:
      capacity:
        storage: 5Gi
      accessModes:
      - ReadWriteOnce
      hostPath:
        path: /srv/openshift-gitlab/pv0004
      persistentVolumeReclaimPolicy: Recycle
    
    • 各ファイルに対してoc create -f <filename> を実行し、クラスターに追加します。
  6. 自分のマシンに各ホストパスを作成し、777 filemodeを持っていることを確認してください。

  7. UIにログインできるようになりました。https://localhost:8443/console/

プロダクションAnsibleインストーラ

OpenShiftのAnsibleインストーラを使って、Digital OceanにOpenShiftのプライマリとセカンダリをセットアップすることができます。アドバンスドインストールのドキュメントに従ってください。

Ansibleのプレイブックは、以下の場所で見つけることができます:https://github.com/openshift/openshift-ansible

すべてのセットアップが終わったら、次のセクションで説明したレジストリとルーターのデプロイが必要です。

クラスターのセットアップを終了するには、プロジェクトを作成し、プロジェクトのサービスアカウントが anyuid として実行できるようにする必要があります。

  • oc new-project <your_project_name>
  • oc edit scc anyuid を追加し、system:serviceaccount:<namespace>:<gitlab-app-name>-user (gitlab-app-name は GitLab をインストールするときの最初の設定オプションで、デフォルトはgitlab-ce) を追加します。

そして、永続ボリュームをセットアップする必要があります。ocクラスター立ち上げ手順の3と4を参照してください。

GitLabテンプレートをOpenShiftに追加します。

Note このセクションは非推奨です。 詳細はオープンイシューをご覧ください。

GitLabテンプレートをOpenShiftに追加します(VMの次のリリースにはGitLabが含まれているので、これは必要ないかもしれません):

  • oc login -u system:admin をDockerクラスタにアップします。
  • Omnibus GitLab リポジトリのルートから、oc create -f docker/openshift-template.json -n openshift

GitLabのインストール

テンプレートをセットアップした後

  1. OpenShiftのウェブコンソールにアクセスします。
  2. 新しいプロジェクトを作成するか、GitLabがまだない既存のプロジェクトを使用します。
  3. プロジェクトに追加し、GitLab-Ceテンプレートを追加します。

GitLab テンプレートの削除

新しいバージョンをアップロードしたい場合に備えて:

oc delete template/gitlab-ce -n openshift

既知のイシュー

  1. 開発マシンからoc cluster up を実行する場合、Docker の新しいバージョンはまだサポートされていません(17.xx バージョンのスキーム)。

  2. minishiftを使用している場合、永続ボリュームは再起動時に永続化されません。 そのため、使用するたびに新しいクラスターをセットアップする必要があります。

新バージョンのリリース

OpenShift Omnibus GitLab リリースプロセスを参照してください。