kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PPP3: 構築とデプロイ

Chapter 11 環境構築とデプロイの自動化

開発環境・ステージング環境・本番環境の構築
まずは内容・手順を検討してそのあと自動化する
自動化の主役はAnsible

動かしながらやっていけるのかなあ
デプロイ先はどこなのか
とりあえず読んでいく

11-01 環境構築内容の検討

環境構築に慣れないうちは、手作業で構築しながら試行錯誤するのがよいでしょう。

だよねー

Vagrantのエクスポート機能を活用することで、検討を素早く進めることができます。

Vagrantの仮想サーバにデプロイするってことかな

  • サーバ構成
    • 同じ役割のサーバをまとめてグループにし、名前をつける
      • ここではload-balancers、app-servers、db-servers、gateway
      • 踏み台サーバを作る
    • 構築手順をミドルウェア(nginx、gunicorn、djangoなど)ごとにまとめる
  • ユーザ設定
    • デフォルトのユーザは使わず、構築・メンテ用のユーザとアプリ実行用のユーザを作る
    • 構築・メンテ用のユーザにはsudo権限をつけて鍵を作成
  • パッケージ
    • 最小限のパッケージのみインストールして、バージョンを管理する
    • ディストリビューションのパッケージをインストールする場合はアップデートポリシーを確認
    • インターネットに接続できない環境ではバンドルを作成してインストールする
      • 開発環境では通常通りインストールする
      • 本番環境に入れる時にバンドル化しても遅くない
  • ミドルウェアの設定
    • 設定ファイルはリポジトリーで管理する
    • 可変部分をテンプレート言語で書き直す(Ansibleでサポート)
  • ソースコードの更新
    • gitのcloneとfetchを使うのが簡単
    • アプリ用のユーザを使う
    • GitHubの設定・鍵の登録を行っておく

ちょっと試しながらというのは時間がかかりそう
nginxもgunicornも入れたことないし
またチュートリアルから、となると進まないから