Node.jsアプリをビルドしました。デプロイするために行うことは、プロジェクトのディレクトリにcd
を入れて、gcloud preview app deploy
を実行することです。これは機能しますが、ファイルには、アプリケーションのデータベースのように機能するJSONファイルもあります。これは、デプロイ時にサイトで更新したくないものです。私はこれを行う方法を見つけることができないようです。それが不可能な場合は、JSONファイルをリモートで表示し、そのデータをローカルファイルにコピーしてから、すべてをデプロイすることもできますが、それもできないようです。
App.yamlで skip_files ディレクティブを使用して、デプロイしたくないパスまたはファイルを除外することをお勧めします。
何かのようなもの:
skip_files:
- ^your_data_dir/.*\.json?
App.yamlには、デプロイしたくないパスまたはファイルを除外するためのskip_filesディレクティブがあります。
ただし、node.jsプロジェクトで作業している場合は、除外するディレクトリを指定する.gcloudignore
ファイルを使用する必要があります。
この.gcloudignoreは、node_modules /ディレクトリと〜で終わるファイルのアップロードを防ぎます。
node_modules/
*~
ドキュメントへの参照:
1。 https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore
2。 https://cloud.google.com/appengine/docs/standard/nodejs/config/appref (検索 'skip_files')
この場合、.gcloudignore
ファイルは、ファイルまたはディレクトリのアップロードを防ぐのに役立ちます。構文は.gitignore
ファイルと同じです。
まず、gcloudignore
が有効になっていることを確認できます。
gcloud config list
そうでない場合は、有効にすることができます。
gcloud config set gcloudignore/enabled true
gcloud functions deploy
などの一部のgcloud
コマンドは、.gcloudignore
ファイルを自動的に生成する場合があります。
.gcloudignore
ファイルは、プロジェクトのルートフォルダーに存在する必要があります。
.gcloudignore
コマンドによって自動的に生成されるgcloud function deploy
は次のとおりです。
# This file specifies files that are *not* uploaded to Google Cloud Platform
# using gcloud. It follows the same syntax as .gitignore, with the addition of
# "#!include" directives (which insert the entries of the given .gitignore-style
# file at that point).
#
# For more information, run:
# $ gcloud topic gcloudignore
#
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or files
# from your .gitignore file, remove the corresponding line
# below:
.git
.gitignore
node_modules
これは、次の構造のNodeJSプロジェクトで問題なく機能しました。
~/Workspace/my-project $ tree -a
.
├── .idea
│ ├── func-project.iml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ └── workspace.xml
├── .gcloudignore
├── index.js
├── package-lock.json
└── package.json
この場合、without.gcloudignore
これがデプロイされるものです。
そしてwith次の.gcloudignore
:
.gcloudignore
.git
.gitignore
.idea
node_modules
package-lock.json
これが展開されるものです:
これについての詳細 を参照してください。