Docker を使用した、環境非依存な Next.js Web アプリ開発における、 環境構築のためのボイラープレートです。
Visual Studio Code の公式拡張機能の一つ、 VSCode Remote - Containers をベースにこの仕組みを実現化しています。 コンテナは Debian 10 をベースに、NodeJS と最新の Git をインストール済みの状態で環境を構築しています。
このプロジェクトを clone したら、前準備として下記を実行して、ユーザー名と電子メールアドレスが設定されていることを確認してください。
git config user.name
git config user.email
設定していない場合、空文字を返します。 必要に応じて、ユーザー名と電子メールアドレスを設定してください。
git config user.name --local <ユーザー名>
git config user.email --local <電子メールアドレス>
次に下記スクリプトを実行してください。
scripts/init
これにより、下記のアクションを自動的に行います。 繰り返し実行しても問題ありません。(冪等性を意識した実装です)
(LM) Bash(LM) jq(LM) Mozilla Network Security Services(LM) PINEntry(LM) proctools(M) Command line tools for Xcode(M) Homebrew(MW) Docker Desktop(W) Chocolatey(W) PoshGit注釈付きのものは、当該 OS のみが対象です。
| key | description |
|---|---|
L | Linux のみ |
M | macOS のみ |
W | Windows のみ |
mkcert と Mozilla Network Security Services を使用して、
localhost 専用の TLS 証明書を .cert フォルダ配下に生成します。
これにより、Web ブラウザーにおける、セキュリティー上の警告を回避することができます。
また、Firefox の TLS ストアを初期化するため、Firefox を起動することがあります。 これはスクリプト終了後、閉じてしまって閉じてしまってかまいません。
Git リポジトリに SSH 経由で pull/push できるようにするため、SSH の鍵ペアをコンテナ内でも連携できるようにする必要があります。 ここでは ssh-agent に既存の SSH 秘密鍵を登録することで、これを実現しています。
この工程は必須ではありませんが、GPG 署名を連携することにより、 コミットの改竄防止に役立ちます。
Git に名前と電子メールアドレスを登録していて、かつ使用する電子メールに紐づく GPG 署名が見つからない場合は、署名を自動的に生成します。
表示される GPG 公開鍵を、GitHub や GitLab に設定するだけで完了です。
コマンド パレットより Remote-Containers: Reopen in Container を選択し、
コンテナ上で VSCode を開きます。初回に限り、コンテナのダウンロードのため
460MB ほどの通信が必要です。
コンテナの準備が整ったら、コンテナのターミナルで、下記コマンドを実行します。
npm ci
npm run dev
npm run build
npm start
npm run lint
MIT
Content type
Image
Digest
Size
474 MB
Last updated
over 5 years ago
docker pull danmaq/vscode-docker-env-boilerplate