プライベートな Git サブモジュールがあるプロジェクトを AWS Amplify にデプロイする方法

AWS
2024-07-20 19:55 (4ヶ月前) ytyng
View in English

以前書いた プライベートな Git サブモジュールがあるプロジェクトを Vercel にデプロイする方法 の AWS Amplify 版。やっていることはほとんど同じです。

1. Fine-grained personal access token を作る

https://github.com/settings/tokens?type=beta

上記ページから、 Generate new token をクリック。

画像

Repository access は、 Only select repositories を選択し、必要最低限のリポジトリを選択する。

Repository permissions は Contents の Read-only のみ付与する。

画像

Generate token ボタンを押して生成する。

2. Amplify の環境変数に登録する

左メニューの「ホスティング」から「環境変数」を選択し、「変数を管理」を選択。

画像

GITHUB_PAT という名前でトークンを追加する。

画像

3. ビルドスクリプトを作る

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

4. Amplify でこのビルドスクリプトを使ってビルドするようにする

Amplify のページのホスティング → ビルドの設定 のページで、ブラウザで amplify.yml を修正するか、プロジェクトのルートディレクトリに amplify.yml を配置する。

preBuild.commandssh/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/**/*'
現在未評価
タイトルとURLをコピー

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011