openshift
openshift-online3

OpenShift Online3 STARTERでNode.js 6.0 x MongoDB 環境を公開してみた③

③OpenShift実践編

今回はNode.jsのバージョンアップ(4⇒6)とGitリポジトリの変更までをやってみたいと思います。

Node.jsのバージョンアップ&ソースリポジトリ変更

BuildConfigから設定できます。
設定方法としては
1. Builds - Builds画面を開く
2. ビルド設定を更新するアプリケーションを選択する
3. 画面右上のActionsからEditを選択する
4. 画面左下に「Show advanced options」があるのでここを押して詳細設定を展開する
5. 「Source Secret」の項目に「Resources - Secrets」画面で事前に作成しておいたssh秘密鍵のResourceを設定する(プライベートGitアクセス設定)
6. Image Configuration項目でNode.jsバージョンを指定する場所があるのでこれを6にする

↓の図は設定済みの図になります。
Payload Too Large

Webhook設定

同じくBuildConfigから設定できます。
まぁ空気読めばいけるかと。
1. Add WebhookからWebhookURLのタイプを選択し、(今回はBitbucket)addするとURLが追加されます。
2. このURLをBitbucketのリポジトリのwebhook設定に追加します。

設定したけど試してないです。
Payload Too Large

構成管理

BuildConfigはyamlで出力できます。
これを専用のGitRepositoryで管理すればイイ感じに
「Infrastructure as a Code」になりそう。
yaml取り込めばアプリケーション構築完了~みたいな。

Resource関連のみ別途設定する必要はあるっぽい。
yamlの中見てたらReource参照値っぽい謎の文字列が書いてあった。
な~んかこのあたり微妙ですね。。。(本来のやり方が別にあるのだろうか?)
ResourceはResourceで別途yaml管理できるっぽい。(Resource開いて右上のActionからEdit yamlを選択)

「Infrastructure as a Code」について
http://mizzy.org/blog/2016/04/22/1/

まとめ

ここまでやれば

  1. Bitbucketでソース修正
  2. webhookで自動ビルド・デプロイ
  3. テスト実行
  4. Route切り替えしてBlueGreenデプロイ実施

という形でアプリケーションのイテレーションを実践できるんじゃないかなぁとなんとなーく思います。

とはいえまだComingSoonが多く実践投入にはまだまだ早いと思います。

検討・検証しきれてない点

  1. データ領域のバックアップとかどうすればいいのかなー
  2. 操作ユーザーの管理(たぶんResourceのMemberships)
  3. コンフィグ管理(たぶんConfigMaps)
  4. そもそもドキュメントあんまり見ずに書いてるから見なければ。。。
  5. アプリケーション規模が大きくなった時のデプロイ速度(事前にビルドしておくので作成済イメージを立ち上げるだけなのだろうか。)
  6. 他にも色々と。時間かけて考えてないのでRedhatに聞いてみるのが近道なのではないかと思う。

関連記事