AWSTemplateFormatVersion: 2010-09-09 Parameters: Repository: Type: String Description: GitHub Repository URL OauthToken: Type: String Description: GitHub token for repo read NoEcho: true OauthTokenNPM: Type: String Description: GitHub token for private npm NoEcho: true Resources: AmplifyRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - amplify.amazonaws.com Action: - sts:AssumeRole Policies: - PolicyName: Amplify PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: 'amplify:*' Resource: '*' AmplifyApp: Type: 'AWS::Amplify::App' Properties: Name: firstapp Repository: !Ref Repository Description: a test website OauthToken: !Ref OauthToken EnvironmentVariables: - Name: NPM_PASS Value: !Ref OauthTokenNPM AutoBranchCreationConfig: EnableAutoBranchCreation: True EnableAutoBuild: False BuildSpec: |- version: 0.1 frontend: phases: preBuild: commands: - cd gatsby - nvm use $VERSION_NODE_12 - npx npm-cli-login -u example-user -p $NPM_PASS -e webmaster@example.com -r http://npmregistry.example.com - npm config set always-auth true - npm config set registry=http://npmregistry.example.com/ - yarn build: commands: - nvm use $VERSION_NODE_12 - yarn run build artifacts: baseDirectory: gatsby/public files: - '**/*' cache: paths: - node_modules/**/* CustomRules: - Source: gatsby/public/index.html Target: /index.html Status: '200' Tags: - Key: Name Value: web-test IAMServiceRole: !GetAtt AmplifyRole.Arn AmplifyBranch: Type: AWS::Amplify::Branch Properties: BranchName: develop AppId: !GetAtt AmplifyApp.AppId Description: Develop Branch EnableAutoBuild: false Tags: - Key: Name Value: test-develop - Key: Branch Value: develop Outputs: DefaultDomain: Value: !GetAtt AmplifyApp.DefaultDomain
Now run like this
aws cloudformation deploy --profile <aws-profile> \ --template-file ./amplify-template.yaml \ --capabilities CAPABILITY_IAM \ --parameter-overrides \ OauthToken=<OauthToken> \ OauthTokenNPM=<OauthTokenNPM> \ Repository=https://github.com/<user>/<repo> \ --stack-name Firstapp
cloudformation: https://console.aws.amazon.com/cloudformation/home
amplify console: https://console.aws.amazon.com/amplify/home
Top comments (0)