プロジェクトdeploy関連

866 ワード

全体的な考え方:gitlabで管理されているプロジェクトコードをリモートサーバ(1台以上)に配備し、生産、テスト、alpha環境などの異なる環境に対応して異なるbranchのコードを引き出す.
Jenkins
jenkinsパラメータ構築プラグインを用いてshellスクリプトを呼び出すパラメータ構築方法
Fabric(fabric=1.13.2というバージョンに基づく)
  • fab-コマンドラインツールfabricをインストールすると
  • が自動的にインストールされます.
  • fabfile.pyの構築注意fabfile 1.xと2.xの違いで使用されるインタフェースは一般的にfabric.apiから来るので、実際に呼び出すと直接from fabric.api import*コマンドインタフェース:env,local,sudo,run,execute,put,cd装飾器:task(タスクキューに参加)、parallel(タスク並列実行)、roles(実はenv.roledefsに対応)
  • boto EC 2(サーバがAWSに管理されているため)
  • まずEC 2
  • に接続する.
    from boto import ec2
    
    conn = ec2.connnect_to_region(aws_region, aws_access_key, aws_access_secret)
    
  • reservations
  • を取得
    reservations = conn.get_all_instances()  #        filter  
    
  • instancesを取得し、instancesを巡回して各インスタンスのprivate_を得るip_address
  • 3 3の結果updateをenv.roledefs