こんにちは。製品企画室の高久です。
寒い日が続きますが、私は元気です!!
さて、本日は私が携わっている製品のリビジョンアップに伴う、リリース作業について一般的な知識を交えながら簡単にお話しできればと思います。
リビジョンアップとは
世の中のアプリケーションは、小さな不具合の修正をたくさん行います。
それに伴い、定期的にバージョンが小さく変化します。
例)ver.10.0.1⇒ver.10.0.2
このような細かい修正に伴うバージョンの変化をリビジョンアップなどと呼びます。
リビジョン(revision) :
– 改定、改正などの意味。
– IT業界では細かな修正を指したりする。
一方で、みなさんがよく聞くバージョンアップとは、より規模の大きい修正・新規機能の追加などの際に使われる言葉になります。
例)ver10.1.0⇒11.0.1
ですのでバージョンがちょびっと変化したら、「細かい修正があったのかー」と..
逆にバージョンが大きく変化したら、「なにか大きな機能が追加されたのか??」
というように思ってください。
リリース作業
アプリケーションに修正を加えても、お客様のアプリは修正前のままです。そこで、修正を加えた成果物を適用する作業が必要となります。
これがリリース作業です。
リリース(release):
– 納品の意味
– 直した部分を適用する作業
一般的にリリース作業時は以下のような流れとなります。
- お客様がアプリケーションにアクセスできないように設定する
- 修正したコードをビルド⇒デプロイ(サーバ上に再配置する処理)
- サーバーの再起動を実施
- 動作確認
- 問題がなければお客様がアクセスできるように再度設定
大まかには以上の一連の流れがリリース作業です。
リリース作業は、実際に利用されている環境に触れるため、
お客様が利用しないような時間(早朝・夜中)に行うケースが多いです。
また一人で行うのではなく、失敗がないかなどを複数人で確認しながら緊張感をもって取り組みます。
(事前にリリース体制を整える必要があります。)
Object Browser Designerのリリースに立ち会ってみた。
一般的なお話を踏まえた上で、私が開発に携わっている弊社SIの製品“SI Object Browser Designer(以下、デザイナー)”のリリース作業についてご紹介いたします。
デザイナーのリリース作業は、朝8時から開始します。
作業の流れは以下の通りです。
- デザイナーのリソースにアクセスできないように、お客様環境をメンテナンスモードに切り替える
(メンテナンスページへリダイレクトするように設定) - AzureDevOpsのPipelineと呼ばれるサービスによって、
ビルド⇒デプロイ実施(かなり自動化されているため、難しくはないです。) - 動作確認実施後、問題がなければメンテナンスモードを解除
- 最後にリリース情報を公開
ホームページの公開やリリースメールの配信など
AzureDevOpsによってリリース作業はかなり自動化されていますが、実際にやってみると失敗することがあります。失敗した場合は原因特定・再実施を行い、正常にデプロイが行えるようにします。
最終的に問題なくリリース作業が行えるように、デザイナーチームも複数人体制で作業に臨んでいます。
リリース作業に立ち会ってみて
リリース作業は自動化がある程度進められているため、かなり負担は少ないですが、朝の限られた時間でミスなく終える必要があるため、緊張感をもって行っています。
実際にビルドエラーが起きたり、デザイナーが正しく動かないような状況に陥った時もあります。それでも熟練のエンジニアと専用のマニュアル、AzureDevOpsなどの様々な要素に支えながら無事にリリースが行えています。
学生の頃は、1年目からリリース作業に携われるなんて全く思っていませんでした。しかし、いざリリース作業に立ち会ってみてとてもいい経験ができたと実感しています。
今後、自分が主体となってこの作業を進められるように、精進したいと思います。