Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 30, 2024

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

単一環境の共有

クラウド上に2つの独立した環境(main & dev)があり、Amplifyバックエンド基盤コードを含むGitの対応するブランチがあります。すべてのチームメンバーが同じAmplifyプロジェクトで作業し、バックエンド関連の変更を同じdev環境にプッシュして変更をテストしたいとします。各チームメンバーは以下を実行します:

cd <project-dir>
amplify init

既存の環境を再利用できるようにするために、プロジェクトのルートにamplifyフォルダがセットアップされていることを確認してください。

team-provider-info.jsonファイルが見つからない場合:

  1. amplifyフォルダをバックアップして削除します
  2. プロジェクトフォルダのルートからAmplify ConsoleのアプリケーションのためにAPIされたamplify pull --appId <app-id> --envName <env-name>コマンドを使用して環境をプルします
Do you want to use an existing environment? Yes
Choose the environment you would like to use:
❯ dev
main
# The rest of init steps
# amplify add/update
amplify push

チームが同じdevバックエンドを共有しているため、チームメンバーは定期的にdev環境が同期されている状態に保つためにチームメンバーがプッシュした変更をプルする必要があります。devブランチと環境から変更をプルしましょう。

amplify pull

チーム内でのプロジェクトの共有

チームメンバーは、スタックにプッシュするために正しい認証情報(アクセスキー/シークレットキー)を持っていない限り、スタックをプッシュすることはできません。

amplifyディレクトリのファイル構造内には、以下のような構造を含むteam-provider-info.jsonファイルが見られます:

{
"dev": {
"awscloudformation": {
"AuthRoleName": "multenvtest-20181115101929-authRole",
"UnauthRoleArn": "arn:aws:iam::132393967379:role/multenvtest-20181115101929-unauthRole",
"AuthRoleArn": "arn:aws:iam::132393967379:role/multenvtest-20181115101929-authRole",
"Region": "us-east-1",
"DeploymentBucketName": "multenvtest-20181115101929-deployment",
"UnauthRoleName": "multenvtest-20181115101929-unauthRole",
"StackName": "multenvtest-20181115101929",
"StackId": "arn:aws:cloudformation:us-east-1:132393967379:stack/multenvtest-20181115101929/fc7b1010-e902-11e8-a9bd-50fae97e0835"
}
},
"main": {
"awscloudformation": {
"AuthRoleName": "multenvtest-20181115102119-authRole",
"UnauthRoleArn": "arn:aws:iam::345090917734:role/multenvtest-20181115102119-unauthRole",
"AuthRoleArn": "arn:aws:iam::345090917734:role/multenvtest-20181115102119-authRole",
"Region": "us-east-1",
"DeploymentBucketName": "multenvtest-20181115102119-deployment",
"UnauthRoleName": "multenvtest-20181115102119-unauthRole",
"StackName": "multenvtest-20181115102119",
"StackId": "arn:aws:cloudformation:us-east-1:345090917734:stack/multenvtest-20181115102119/3e907b70-e903-11e8-a18b-503acac41e61"
}
}
}

このファイルはチームメンバー間で共有され、同じCloudFormationスタックにリソースをプッシュ/プロビジョニングする能力を持つことができます。そうすることで、チームはプッシュ/プル方式で作業でき、常にクラウド上のプロジェクトの最新の状態と同期を保つことができます。

プロジェクトを公開してサーバーレスインフラストラクチャをオープンソース化したい場合は、amplify/team-provider-info.jsonファイルを.gitignoreファイルから削除するか、.gitignoreファイルに入れる必要があります。