お気づきかと思いますが、Scotty.js はもうアクティブではありません。 Scotty.js での作業は楽しかったのですが、その間に AWS が AWS Amplify をリリースしたため、Scotty.js などのツールは必要なくなりました。 AWS Amplify コンソールをご覧ください。これは、静的な Web サイトや単一ページのアプリケーションをホストするための優れたツールです。
単一のコマンドで静的ウェブサイトまたはフォルダーを AWS S3 にデプロイします
Scotty.js は NPM で入手できます。これをグローバル依存関係としてインストールすると、どこでもscotty
コマンドを使用できるようになります。
npm install scottyjs --global
ビームアップして、スコッティ
静的フォルダーを AWS S3 にデプロイするには、次のコマンドを実行します。
スコッティ {オプション}
または
ビームミーアップ {オプション}
--helpまたは-h - このヘルプを印刷します
--versionまたは-v - 現在のバージョンを出力します。
--noclipboardまたは-n - URL をクリップボードにコピーしません (デフォルト: false)
--quietまたは-q - コマンドの実行時に出力を抑制します (デフォルト: false)
--websiteまたは-w - アップロードされたフォルダーを静的 Web サイトとして設定します (デフォルト: false)
--spa - アップロードされたフォルダーを単一ページ アプリとして設定します (デフォルト: false)
--sourceまたは-s - アップロードされるフォルダーのソース (デフォルト: 現在のフォルダー)
--bucketまたは-b - S3 バケットの名前 (デフォルト: 現在のフォルダーの名前)
--prefixまたは-p - S3 バケットのプレフィックス (デフォルト: バケットのルート)
--regionまたは-r - ファイルがアップロードされる AWS リージョン、デフォルト: 保存されたリージョン (存在する場合)、またはまだ保存されていない場合は選択するリスト
--forceまたは-f - 確認せずにバケットを更新します (デフォルト: false、強制リージョンは-rでオーバーライドできます)
--updateまたは-u - 既存のバケットを更新します (デフォルト: false)
--deleteまたは-d - 既存のバケットを削除します (デフォルト: false)
--nocdnまたは-c - Cloudfront 処理を無効にする (デフォルト: false)
--urlonlyまたは-o - オプションに従って結果の URL、CDN、または S3 のみを出力します (デフォルト: false)
--expireまたは-e - n 日より古いバケット上のオブジェクトを削除します (デフォルト: 有効期限なし)
--profileまたは-a - 使用する AWS プロファイル (デフォルト: 'default')
--emptyまたは-y - バケットを空にします (ファイルをアップロードする前にすべてのオブジェクトを削除します) (デフォルト: false)
完全なチュートリアル: http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
CRA アプリをデプロイするには、プロジェクトのルート フォルダーでnpm run build
実行してビルド バージョンを作成するだけです。
次に、次のコマンドを使用してビルド バージョンをデプロイします。
スコッティ --spa --source ./build
または、バケット名を指定する場合は、次を実行します。
scotty --spa --source ./build --bucket some-bucket-name
--spa
フラグを使用すると、Scotty はシングル ページ アプリに必要なリダイレクトを設定するため、アプリはすぐに PushState を使用できるようになります。
複数のアプリを 1 つのバケットにデプロイするには、 --prefix
オプションを使用できます。これは、CI システムを各ブランチをパス名として使用してステージング システムにデプロイする場合に便利です。例えば。 master
ブランチはバケット ルート ( /
) に移動する必要があるため、プレフィックスは設定しません。 feature/fancy-stuff
ブランチはバケット パスfeature/fancy-stuff
に移動する必要があるため、これをプレフィックスとして追加するだけです。コマンドラインの例を次に示します。
# マスター ブランチ ビルドをバケットにデプロイしますrootscotty --source ./build --bucket some-bucket-name# ブランチ ビルドをバケット上のブランチ名にデプロイしますcotty --source_ ./build --bucket some-bucket-name - -あなたの/ブランチにプレフィックスを付けます
単体テストと統合テストには Jasmine を使用します。別のものを使用する特別な理由がない限り、テストには引き続き Jasmine を使用してください。既存のテストは spec フォルダーにあります。便利なコマンドのショートカットをいくつか紹介します。
すべてのテストを実行します。
npmテスト
一部のテストのみを実行します。
npm テスト -- フィルター=プレフィックス
詳細な階層テスト名のレポートを取得します。
npm テスト -- フル
MIT -- ライセンスを参照