2018/02/11

GCP: Google App Engine上にPython(Flask)アプリを立ち上げる手順



  • Goal
    開発環境も何も無い状態から、GAE(Google App Engine)上にFlaskアプリ(Hello World)を30分以内に立ち上げる。
    GAEは、Standard Environmentなので、Pythonは、2.7
  • How
    1. GCP上に新プロジェクト作成(xxxxx-test−0001) ⇒ 手順割愛
    2. GCP上で、GAEを有効にする。 ⇒ 手順割愛
      初めてのアプリ作成で、Pythonを選ぶ。
      チュートリアルはやらなくて良いので、途中で抜ける。
      1プロジェクトで、1GAEアプリしか持てない。
    3. GCP上に新VMインスタンス(Ubuntu16.4)作成(dev001) ⇒ 手順割愛
      TYPEはMicro(無料マシン)でOK。
      別にローカルマシンがあればそれでもOK。
    4. VM(dev001)の設定 ー 開発環境構築
        4-1. 初期設定 + Pyenv + GAEのSDKの導入
          以下のファイルを実行
       
         ~$ . UbuntuSetupForGAE.sh
    #! /bin/bash
    #update and upgrade
    sudo apt-get update
    sudo apt-get -y upgrade
    #install - I may put unnessary package
    sudo apt-get install -y git gcc make openssl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils libgtk2.0-dev pkg-config unzip
    #Set up Pyenv and GAE SDK
    git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
    #Please select version
    wget https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.66.zip
    mkdir bin
    cd bin
    unzip ~/google_appengine_1.9.66.zip
    cd
    echo 'export PATH="$PATH:$HOME/bin/google_appengine"' >> ~/.bashrc
    exec $SHELL -l

        4-2. Localに開発用フォルダの作成とPyenvのセットアップ      
           
    # 開発を行うディレクトリで操作すること
    # 必要なファイルを取ってくる ー GAEへのデプロイに必要なファイル
    git clone https://github.com/pumpkinpietea/GAEdevelopping-with-Flask.git
    # PYTHONの環境を作成
    pyenv install 2.7.14
    pyenv virtualenv 2.7.14 GAEFlask
    cd ./GAEdevelopping-wtih-Flask
    pyenv local GAEFlask
    # 必要なライブラリを開発を行うディレクトリ内のlibディレクトリにインスト−ルする。
    # そうすると、Deploy時に一緒に持っていく
    pip install -r requirements.txt -t lib

    5. Deploy
      localでのテスト。main.pyがあるディレクトリで以下を実行
          $ 
    dev_appserver.py .
     
       Deploy。 main.pyがあるディレクトリで以下を実行する
          $ appcfg.py update --noauth_local_webserver -A "project id" -V "version" .

    6. 確認する。以下のURLにアクセスする。
      
    https://”projectid”.appspot.com
         



  • Notes
    これを使って、LineのBotなどマイクロサービスを立ち上げれる
    main.pyの編集と必要なlibのインストールが必要
  • Thanks!!

  • 0 件のコメント:

    コメントを投稿