LoginSignup
7
10

More than 5 years have passed since last update.

PythonとGCPの組み合わせでWebサイトを作る【「本棚自慢」サイト開発日誌#1】

Posted at

経緯

業務でPythonとGCPの知識が必要になるのでチュートリアルなどしてみたものの、結局は実戦(実際に動くものを本番(=インターネット上へ)リリースする)が一番力がつくので、やってみることにする。
業務では、GolangやAngularも必要そうだけど、Golangは2年くらい業務経験あるので優先度下げる。
Angularはチュートリアルを多少やったものの、機能が多く、Python、GCPの勉強と同時並行が難しそうなので、ある程度、Python+GCPの開発が軌道に乗った後でトライする。

環境

  • 開発端末:Linux(Ubuntu 17.10)
  • 言語:Python(v3.6.3)※ pip は v9.0.1
  • フレームワーク:Flask(v1.0.2)

<前提>

  • GCPはアカウント取得済み。
  • Google Cloud SDK取得・認証済み。

今日のお題

  • Webサイトの題材を決める。
  • Python3で単純にWebページ表示するくらいやってみる。
  • GCP上(GAE)にデプロイしてみる。

■Webサイトの題材を決める。

前々から「いろんなエンジニアの本棚が見てみたい」と思っていたので、Webサイト名は「本棚自慢」。
ちゃんと検討・設計してから作るというより、とりあえず作って少しずつ拡張・改善。

自分の本棚の写真を撮って投稿してもらう。そしてそれを一覧に表示する。
まずはそれまでを当面の目標にする。

■Python3で単純にWebページ表示するくらいやってみる。

以下ソースで実施済み。
https://github.com/sky0621/bicherregal-py/tree/4690e65ae98b243ac38db257466326a711861384

kjgirm.png

【参考】
 http://flask.pocoo.org/docs/1.0/

■GCP上(GAE)にデプロイしてみる。

↓のようなYAMLを用意(Pythonプロジェクト直下)すると、作ったPythonのWebアプリがGAE上で起動してくれる。


runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

上記YAMLが存在するパスで以下実行すると、GCP上にデプロイされる。


$ gcloud app deploy
Services to deploy:
      〜
Do you want to continue (Y/n)?  y
      〜
  けっこう時間がかかる
      〜
DONE
      〜

デプロイ結果の確認。


$ gcloud app browse

YCEMYF.png

★「xxxxxxxx」の部分には、自分のGCPプロジェクトのIDが入る。

【参考】
 https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml?authuser=1&hl=ja
 https://cloud.google.com/appengine/docs/flexible/python/quickstart?authuser=1&hl=ja

7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10