③OpenShift実践編
今回はNode.jsのバージョンアップ(4⇒6)とGitリポジトリの変更までをやってみたいと思います。
Node.jsのバージョンアップ&ソースリポジトリ変更
BuildConfigから設定できます。
設定方法としては
- Builds - Builds画面を開く
- ビルド設定を更新するアプリケーションを選択する
- 画面右上のActionsからEditを選択する
- 画面左下に「Show advanced options」があるのでここを押して詳細設定を展開する
- 「Source Secret」の項目に「Resources - Secrets」画面で事前に作成しておいたssh秘密鍵のResourceを設定する(プライベートGitアクセス設定)
- Image Configuration項目でNode.jsバージョンを指定する場所があるのでこれを6にする
Webhook設定
同じくBuildConfigから設定できます。
まぁ空気読めばいけるかと。
- Add WebhookからWebhookURLのタイプを選択し、(今回はBitbucket)addするとURLが追加されます。
- このURLをBitbucketのリポジトリのwebhook設定に追加します。
構成管理
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/
まとめ
ここまでやれば
- Bitbucketでソース修正
- webhookで自動ビルド・デプロイ
- テスト実行
- Route切り替えしてBlueGreenデプロイ実施
という形でアプリケーションのイテレーションを実践できるんじゃないかなぁとなんとなーく思います。
とはいえまだComingSoonが多く実践投入にはまだまだ早いと思います。
検討・検証しきれてない点
- データ領域のバックアップとかどうすればいいのかなー
- 操作ユーザーの管理(たぶんResourceのMemberships)
- コンフィグ管理(たぶんConfigMaps)
- そもそもドキュメントあんまり見ずに書いてるから見なければ。。。
- アプリケーション規模が大きくなった時のデプロイ速度(事前にビルドしておくので作成済イメージを立ち上げるだけなのだろうか。)
- 他にも色々と。時間かけて考えてないのでRedhatに聞いてみるのが近道なのではないかと思う。