現在の開発現場・運用現場では、CD(Continuous Delivery)ツールを使用したデプロイ(サーバーへの資材配置)が一般的になっています。
CDツールの設定を行うのは一部の技術者のみであることもあり、CDツールを使用しない場合の原始的な手順でのデプロイ手順は、経験の浅い技術者にはイメージしにくいものであると感じています。
そこで、この記事では、CDツールを使用しない場合のデプロイ手順のイメージを書いていきます。
デプロイ手順を知ることで、CDツールを使う理由やそのありがたさを理解しやすくなると思います。
開発した機能を本番サービスに反映させるためには、開発環境で開発を行った資材(プログラムの実行モジュールやスクリプト、設定ファイル等)を商用環境に配置する必要があります。
配置を行うためには、最低限下記の作業が必要になります。
(コマンドのイメージも併記します)
1.商用環境のサーバーへのログイン
1 |
ターミナルでxxxサーバーにログイン(IPアドレス、ユーザー名、パスワードを入力) |
2.ファイル共有サーバーからの資材取得
1 2 3 4 5 |
#> ftp xxx.xxx.xxx.xxx #> username #> password #> get xxx.tar #> bye |
3.資材(圧縮ファイル)の解凍
1 |
#> tar xvf xxx.tar |
4.解凍後の資材の配置
1 |
#> cp -rp xxx yyy |
上記の作業を行うだけでも、コマンドの誤り・漏れによる作業ミスの可能性がありますし、入るサーバーを間違えてしまうことすらあります。
作業を引き継ぐことにも困難さを伴い、作業手順書のようなものが必要になります。
加えて、下記のような作業を伴うことも多く、実際の手順はより複雑になります。
- デプロイ時のサービス停止や機能制限、それに伴う設定変更(サーバー毎に設定が異なることも多い)
- デプロイ前のバックアップ取得
- デプロイ後の定型的な確認作業
作業ミスを防いだり引継ぎを容易にしたりする上で、CDツールの利用が有効になります。
CDツールでは、コマンドや設定を登録し、複数のサーバーに対して画面からGUIベースで作業することができるようになります。
イメージとしては以下のようなものになります。
(以下は、CircleCIのチュートリアルの一部です)
Hello World – CircleCI
今回の記事は、社内の勉強会で私の方から補足説明したことを記事に残したものとなります。
「CI/CD」という言葉の説明や、CI/CDツールの具体的な使用方法に関する記事は多く見つかりますが、ツールが使われるようになった経緯(過去の作業手順)に触れた記事は少ないと感じましたので執筆しました。
何かの参考になれば幸いです。
コメント