利用できるようにしました。だいたいの場合単体テスト・結合テストまでが実施され、変更の粒度がある程度育ってきたらステージング環境にデプロイして実際に触ってみて機能テストを行うのではないかと思います。キックされすべてのテストケースが通ったらそのままステージング環境に勝手にデプロイされてほしい訳です。アプリケーションをデプロイすることそのものは簡単なことです。すればいいだけのことです。コールしなくてはなりません。接続するためのクレデンシャルを、それぞれアプリケーションが知っている必要があります。任意の設定ファイルにまとめられ、アプリケーションのエントリーポイントがこれら設定ファイルを読み込んで起動する仕組みになっていることでしょう。設定ファイルのこれまででは自動デプロイをする場合において、それらの設定ファイルはどのように管理すればよいのでしょうか。概念ではアプリケーションのデプロイは一度だけで、アプリケーションに変更があればサーバーごと捨ててしまえるので大きな問題とはならないのですが、その方法によって解決できない領域が存在します。ぼくが所属しているゲヒルンが行っているレンタルサーバーサービス。ユーザーは割り当てられたファイルシステムに自由にデータを書き込み、自由にデーモンを立ち上げ、その結果再現不可能なサーバーが誕生します。レンタルサーバーサービスに新機能を追加すると、既存のサーバーの上に新たな、あるいは更新されたアプリケーションをデプロイする必要が生じます。様なものを使って暗号化した上でリポジトリに含むなどがこれまで試みられてきた方法だと思います。リポジトリに平文で含む方法の問題点は少し考えただけで簡単に見つけられますが、そこで妥協点として暗号化してリポジトリに含むという感じなのでしょうか。アプリケーションの実装と、それを運用する設定ファイルはできるだけ分離されているべきだと思います。使った設定値の共有そこでぼくが最近実験的に試している方法が、リポジトリには「どこにファイルを配置し、どこを読めば設定値を知ることができるか」という情報のみを含み、設定値自体は外部に切り出してしまうというものです。利用しているということで一度は耳にしたことがあるのではないでしょうか。暗号化と、クライアント証明書による認証が使えて大変便利です。使った具体的なデプロイのフロー以下の様なものです。オブジェクトを任意のテンプレートエンジンに渡すことで、簡単に設定ファイルを生成できるようになります。することによって設定ファイルを自動生成できるようになり、人の手を介さない完全自動デプロイが実現されています。パスフレーズを知っている者のみがアクセス可能なため、センシティブな情報の保護も同時に実現しています。yosida95ここで述べる内容は私個人の見解に基づくものであり、私の雇用者や私が所属する団体とは一切の関係がありません。