質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

Q&A

解決済

1回答

6341閲覧

Github actionでS3にデプロイできない

pokemonta

総合スコア170

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

0グッド

1クリップ

投稿2021/09/25 05:31

編集2021/09/26 06:10

Githubアクションに以下の設定を書き込み、
コミットされたタイミングでNext.jsのソースコードがbuildされ
S3にデプロイされることを期待しています。

yml

1name: Build React on S3 2on: 3 push: 4 branches: 5 - master 6jobs: 7 build: 8 runs-on: ubuntu-latest 9 steps: 10 - name: Checkout 11 uses: actions/checkout@master # リポジトリをチェックアウト 12 13 - name: Install Dependencies 14 run: npm install 15 16 - name: Build 17 run: npm run build # React ビルド 18 19 - name: Deploy # S3にデプロイ 20 env: 21 AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 22 AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 23 run: 24 aws s3 cp --recursive --region ap-northeast-1 build s3://バケット名

しかしながら、以下のメッセージが表示され失敗に終わります。

log

1Run aws s3 cp --recursive --region ap-northeast-1 build s3://バケット名 2 3The user-provided path build does not exist. 4Error: Process completed with exit code 255.

バケット名は確かに存在しています。対応方法をご教示願います。

Git Hubのソースは、チュートリアルのものを使用していて、何も修正を加えていません。
そのそもどのファイルをビルドしてS3に持って行っているのでしょうか?
私の推測は、out or buildフォルダみたいなものが作られて、それだけをコピーされるイメージです
pages
|_ index.tsx
public
|_ vercel.svg
package.json
tsconfig.json

packagejson

1 2{ 3 "private": true, 4 "scripts": { 5 "dev": "next dev", 6 "build": "next build", 7 "start": "next start", 8 "export": "next build && next export", 9 "type-check": "tsc --pretty --noEmit", 10 "format": "prettier --write .", 11 "lint": "eslint . --ext ts --ext tsx --ext js", 12 "test": "jest", 13 "test-all": "yarn lint && yarn type-check && yarn test" 14 },

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

lang

1run: 2 aws s3 cp --recursive --region ap-northeast-1 build s3://バケット名

The user-provided path build does not exist.

buildディレクトリをS3にアップロードするコマンドで、buildディレクトリがないためエラー終了しています。

lang

1- name: Build 2 run: npm run build # React ビルド

ビルドが期待通りに動作していないと推測します。package.jsonbuildタスクが正しく定義されていますか?ビルドの結果がbuildディレクトリとして出力されるようにタスクを定義する必要があります。

参考

フロントエンド開発の3ステップ(npmことはじめ) - Qiita

npm runとは、npm scriptsと呼ばれるタスク実行機能を呼び出すコマンドです。
機能は一つしかありません。

package.json内に書かれたシェルスクリプトを実行するだけ
これだけです。

使用例を挙げましょう。
例えば下記のようにpackage.json内に書いておきます。

{
"scripts": {
"build": "browserify src/main.js > build/bundle.js"
}
}

投稿2021/09/25 06:48

編集2021/09/25 08:38
jhashimoto

総合スコア838

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jhashimoto

2021/09/26 06:28

nextは使ったことがありませんが、ご提示のリンク先を翻訳すると > 終了したら、outディレクトリ内を調べて、新しいWebサイトのすべてのファイルを確認できます とあるので、ビルド出力先はoutディレクトリではないでしょうか。であれば、 > aws s3 cp --recursive --region ap-northeast-1 build s3://バケット名 S3にアップロードするのは、buildディレクトリではなく、outディレクトリになります。
jhashimoto

2021/09/26 07:13

ローカル環境ではビルドできているのでしょうか?
pokemonta

2021/09/26 08:18

stackblitzでしか見てません。 pcが社内lanのproxyやらでややこしくて。ですので、ローカルでビルドできるかわかりません。 GitHubのSecrets設定は完了してます。
jhashimoto

2021/09/26 09:58

事情はよくわかりませんが、ローカルでビルドできるか不明となると、原因の切り分けが難しいです。自分で検証する時間はとれそうにないので、これ以上お役に立てないかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問