設定ファイルや.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、すごいです。
参考
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
サーバレス複数サイト運営をする際の無料サーバー使いこなし術 2022.9.5
サーバレスHerokuの無料プランが終了へ。移行するならどこがいい? 2022.8.26
サーバレスCloudflare Pages Functionsをローカルでテストする方法 2022.8.12
サーバレスCloudfalre Pagesでリダイレクトを使う方法 2022.8.11
サーバレスCloudflare WorkersとCloudflare Pages Functionの違いと使い分け 2022.8.10
サーバレスCloudinaryの自分のデータを自動でバックアップさせる方法 2022.8.1
サーバレスいまさら聞けないレンタルサーバーとHerokuの違い 2022.5.10
サーバレスCloudflare Pagesでアクセス制限を実装する 2022.4.26