2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DjangoをCloud BuildでApp Engineに自動デプロイするときの、cloudbuild.yamlの例

Last updated at Posted at 2019-11-22

概要

DjangoプロジェクトをCloud BuildでApp Engineに自動デプロイできるようにする設定。
cloudbuild.yaml設定内容の、日本語の情報がなさそうなので共有します。

方法

標準的なデプロイ方法を実施+以下のcloudbuild.yamlファイルを使用します。

cloudbuild.yaml
steps:
# collectstatic用のdjangoを走らせるための環境を作る
- name: 'python:3'
  entrypoint: python3
  args: ['-m', 'venv', '/workspace/venv']
- name: 'python:3'
  entrypoint: "/workspace/venv/bin/pip"
  args: ['install', '-r', 'requirements.txt']
# 作ったvenvを使ってcollectstatic(テスト等を実行してもよい)
- name: 'python:3'
  entrypoint: "/workspace/venv/bin/python"
  args: ['./manage.py', 'collectstatic', '--noinput']
# App Engineにデプロイ
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy"]
timeout: "1200s"

デプロイのステップでvenvを作ってそこでcollectstaticなりテストなりを実行してます。
注意点としては、Cloud Buildでは"/workspace/"内の情報しか次のステップに引き継がれないことくらいです。

まとめ

上記のcloudbuild.yamlの設定で、いい感じにデプロイできます。

GitHubとCloud Buildを連携したりすれば、GitHubにpushするごとに自動でデプロイされるように設定できて楽しいのでお勧めです。

初投稿につき、気になる点やご質問・改善案などあればお気軽にコメントいただけると幸いです。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?