- 要件
- OpenShift Originのセットアップ
- GitLabテンプレートをOpenShiftに追加します。
- GitLabのインストール
- GitLab テンプレートの削除
- 既知のイシュー
- 新バージョンのリリース
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
クライアントツールです:
- OpenShift Originクライアントツールをお持ちでない場合は、ダウンロードしてインストールしてください。
次に、OpenShift Origin環境をセットアップする必要があります。 環境をセットアップするには、クラウドマシン上で本番用インストーラを使用するか、ローカルマシン上でminishiftを使用するか(kvmまたはxhyveを使用)、プライマリ用にDockerを使用してインスタンスをセットアップし、セカンダリとして自分のマシンを使用します。oc cluster up
ミニシフト
Minishiftのインストール方法については、以下をご覧ください。http://docs.okd.io/3.11/minishift/getting-started/installing.html
- Minishiftをインストールする前に、適切なDockerマシンドライバをインストールする必要があります。
- Linuxの場合は、kvmドライバをインストールします。
- Mac OSXの場合は、xhyveドライバをインストールします。
-
Minishiftをインストールします。
- GitLabを実行するのに十分なCPU/メモリでMinishiftを起動します:
minishift start --cpus 4 --memory 6144
- 起動が終わると、コマンドはウェブコンソールの場所を出力します。
-
Minishiftは内部的にocクラスターアップメソッドを使用しています。
- UIへのログインは以下から可能です。
https://<your_local_minishift_ip>:8443/console/
- minishiftのIPは、minishiftを起動した後に表示されますが、後で以下を実行することでも見つけることができます。
minishift ip
- minishiftのIPは、minishiftを起動した後に表示されますが、後で以下を実行することでも見つけることができます。
Docker ocクラスター立ち上げ
Dockerがインストールされていれば、ローカルマシンでOpenShift Originをセットアップできます:https://github.com/openshift/origin/blob/77bf0a926c045142570bb50a9a83086a370506a8/docs/cluster_up_down.md
**Note:
現在、新しいバージョンスキーム(17.xx)でdocker-ce
/ee
を使用している場合、これは起動しません。
- 端末で
oc cluster up --host-data-dir='/srv/openshift'
- ocクラスターはホストのポート80にアクセスする必要があるので、OpenShiftを使用している間はWebサーバーを停止する必要があります。
- ストレージと権限を割り当てる新しいネームスペースを作成します。
oc new-project <namespace>
- システム管理者としてログイン
oc login -u system:admin
- GitLab ポッドを root 権限で実行するには、anyuid セキュリティコンテキストを編集する必要があります:
oc adm policy add-scc-to-user anyuid system:serviceaccount:<namespace>:<gitlab-app-name>-user
- (
gitlab-app-name
は GitLab をインストールするときの最初の設定オプションで、デフォルトはgitlab-ce
です )
- 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>
を実行し、クラスターに追加します。
-
自分のマシンに各ホストパスを作成し、
777
filemodeを持っていることを確認してください。 - 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のインストール
テンプレートをセットアップした後
- OpenShiftのウェブコンソールにアクセスします。
- 新しいプロジェクトを作成するか、GitLabがまだない既存のプロジェクトを使用します。
- プロジェクトに追加し、GitLab-Ceテンプレートを追加します。
GitLab テンプレートの削除
新しいバージョンをアップロードしたい場合に備えて:
oc delete template/gitlab-ce -n openshift
既知のイシュー
-
開発マシンから
oc cluster up
を実行する場合、Docker の新しいバージョンはまだサポートされていません(17.xx バージョンのスキーム)。 -
minishiftを使用している場合、永続ボリュームは再起動時に永続化されません。 そのため、使用するたびに新しいクラスターをセットアップする必要があります。
新バージョンのリリース
OpenShift Omnibus GitLab リリースプロセスを参照してください。