スポンサーリンク
AzureIT全般Python

Azure Functions × Python 開発で押さえておきたい .gitignore と .funcignore の使い分

Azure
この記事は約3分で読めます。

Azure Functions を Python で開発していると、local.settings.json__pycache__、仮想環境など「Git にも Azure にも含めたくないファイル」がたくさん出てきます。

この記事では、.gitignore.funcignore の違いと、それぞれに書いておくべき代表的なファイル・フォルダを整理してご紹介します。

.gitignore と .funcignore の違い

ファイル名目的影響範囲
.gitignoreGit にコミットしないバージョン管理
.funcignoreAzure にデプロイしないデプロイ対象制御

.gitignore に入れるべきファイル

  • __pycache__/, *.pyc:Python のキャッシュファイル。自動生成されるので管理不要。
  • .env/, venv/:仮想環境フォルダ。環境ごとに異なるため共有しない。
  • .vscode/:個人のエディタ設定。チームで共有しない方が無難。
  • *.log, *.csv, *.xlsx:実行結果や一時ファイル。再生成可能なため除外。
  • local.settings.json:機密情報を含むローカル設定ファイル。絶対にコミットしないように!
  • .pytest_cache/, htmlcov/:テストのキャッシュやカバレッジ結果。不要。

.funcignore に入れるべきファイル

  • local.settings.json:Azure にアップロードしても使われない。セキュリティ上も除外がベスト。
  • tests/, *.test.py:本番環境に不要なテストコード。デプロイ対象から外す。
  • .env/, venv/:仮想環境はローカル専用。Azure では使わない。
  • __pycache__/, *.pyc:Python のキャッシュ。デプロイに不要。
  • *.log, *.md, docs/:ログやドキュメント類。実行に関係なければ除外。

local.settings.json は両方に書こう!

local.settings.json はローカル開発専用の設定ファイルです。

  • .gitignore に書く → Git にコミットしない(セキュリティ対策)
  • .funcignore に書く → Azure にアップロードしない(不要なファイルを除外)

この2つに書いておくことで、誤って機密情報を公開したり、不要なファイルをデプロイしてしまうリスクを防げます。

おすすめテンプレート

.gitignore

__pycache__/
*.py[cod]
.env/
venv/
.vscode/
*.log
*.csv
*.xlsx
local.settings.json
.pytest_cache/
htmlcov/

.funcignore

local.settings.json
.env/
venv/
__pycache__/
*.py[cod]
tests/
*.test.py
*.log
*.md
docs/

まとめ

.gitignoreGit にコミットしないため.funcignoreAzure にデプロイしないために使います。

どちらも目的が違うので、併用が基本! 特に local.settings.json は両方に書いておくのが安全です。

プロジェクトの成長とともに、ignore ルールも見直して、セキュリティと効率の良い開発を両立させましょう!

コメント

タイトルとURLをコピーしました