設定ファイルや.envファイルなど、.gitignoreで除外したファイルをnowにだけアップする
公開日: 2019.6.17
アプリの設定ファイルやDBのID、パスワード情報など、gitでは管理したくないけど、now.shにだけは認識させたいケースがあります。そうした場合に、どのように対処すればいいのかをまとめました。
編集ノート:SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。
通常通り、gitignoreで管理除外する
外部流出しては困る設定ファイル(今回は、仮にDBのログイン情報を記載した「config.json」というファイルとします)を.gitignoreに記載します。
config.json
これで、設定ファイルはローカルのみで保持されるようになります。
ちなみに、config.jsonの中身はこんな感じです。(MySQLを使っています)
{
"db": {
"host": "ホストIP",
"port": "ホストポート",
"user": "ログインID",
"pass": "ログインパスワード",
"database" : "データベース"
}
}
configファイルをロードする時は、
const config = require('../config.json')
という感じで定数に呼び出してあげればOKです。
now.jsonにファイル転送設定を書く
続いて、now.shにだけ設定ファイルを転送するために、now.sh専用の設定ファイル「now.json」に下記のようにファイル転送設定を記載します。
{
"files": ["config.json"]
}
これだけで、gitリモートブランチ経由の更新ではconfig.jsonがアップされませんが、「now」コマンドからデプロイする際には、.gitignoreで除外されたはずのconfig.jsonがしっかりとnowの本番にはアップロードされます。便利ですね。
now.jsonは、普通のjsonファイルなので、fileの変数は複数設定することもできますし、ディレクトリを設定することもできます。
人によっては、envを使ってたりしていて、「.git除外ファイルはどうやってデプロイするんだよ!」なんて思いますが、しっかりとそこは考えられていましたね。
無料でここまで使えるnow.sh、すごいです。
参考
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
- サーバレスCloudflare R2の料金体系・無料枠まとめ 2024.8.21
- サーバレスCloudflare R2をCyberduckで使う方法 2024.7.31
- サーバレスAIの学習ボット・クローラーからサイトを守るメリットとブロックする方法 2024.7.19
- サーバレスCloudFlare Pagesのビルド環境の違い 2024.5.9
- サーバレスCloudflare D1の料金体系・無料枠まとめ 2024.3.25
- サーバレスCloudflare PagesでNuxt3のビルド時に「ENOENT: no such file or directory」エラーの対象方法 2024.3.21
- サーバレスGitlab CLIでpush時に「glab auth not found」となった際の対処方法 2024.3.19
- サーバレスCloudFlare Workers AIの料金体系・無料枠まとめ 2024.2.2