以前書いた プライベートな Git サブモジュールがあるプロジェクトを Vercel にデプロイする方法 の AWS Amplify 版。やっていることはほとんど同じです。
https://github.com/settings/tokens?type=beta
上記ページから、 Generate new token をクリック。
Repository access は、 Only select repositories を選択し、必要最低限のリポジトリを選択する。
Repository permissions は Contents の Read-only のみ付与する。
Generate token ボタンを押して生成する。
左メニューの「ホスティング」から「環境変数」を選択し、「変数を管理」を選択。
GITHUB_PAT という名前でトークンを追加する。
sh/pre-build-for-amplify.sh という名前で作った。
#!/usr/bin/env bash
cd $(dirname $0)/../ || exit
if [ -z "${GITHUB_PAT}" ]; then
echo "環境変数 GITHUB_PAT が設定されていません。Github の Fine-grained トークンを再生成して、Amplify の環境変数 GITHUB_PAT に登録してください。"
echo "https://github.com/settings/tokens?type=beta"
echo "https://ap-northeast-1.console.aws.amazon.com/amplify/apps/"
exit 1
fi
echo "サブモジュールの更新に失敗する場合は、Github の Fine-grained トークンを再生成して、Amplify の環境変数 GITHUB_PAT に登録してください。"
echo "https://github.com/settings/tokens?type=beta"
echo "https://ap-northeast-1.console.aws.amazon.com/amplify/apps/"
git submodule set-url <my-submodule> "https://${GITHUB_PAT}@github.com/ytyng/<my-submodule>.git"
git submodule sync
git submodule update --init
Amplify のページのホスティング → ビルドの設定 のページで、ブラウザで amplify.yml を修正するか、プロジェクトのルートディレクトリに amplify.yml を配置する。
preBuild.commands
に sh/pre-build-for-amplify.sh
を追加する。
version: 1
frontend:
phases:
preBuild:
commands:
- 'sh/pre-build-for-amplify.sh' # これを追加
- 'npm ci --cache .npm --prefer-offline'
build:
commands:
- 'npm run build'
artifacts:
baseDirectory: build
files:
- '**/*'
cache:
paths:
- '.npm/**/*'
コメント