Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
コーポレートサイトを静的化してAmplify Consoleにデプロイする
cockscomb
November 27, 2020
Programming
0
2.9k
コーポレートサイトを静的化してAmplify Consoleにデプロイする
AWS Amplify Meet-up #2
で発表しました。
cockscomb
November 27, 2020
Tweet
Share
More Decks by cockscomb
See All by cockscomb
GraphQL放談
cockscomb
4
1.3k
GraphQL Highway
cockscomb
25
5.9k
吉田を支える技術
cockscomb
0
870
ユーザインターフェイスと非同期処理
cockscomb
5
1.3k
GUIアプリケーションの構造と設計
cockscomb
10
9.4k
イカリング2におけるシングルページアプリケーション
cockscomb
2
6.7k
あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい
cockscomb
1
6.6k
iOSアプリエンジニアのためのAndroidアプリ開発
cockscomb
7
1.6k
Swift 2 Error Handling in Practice
cockscomb
5
6.7k
Other Decks in Programming
See All in Programming
FargateとAthenaで作る、機械学習システム
nayuts
0
190
SRE NEXT 2022に学ぶこれからのSREキャリア
fukubaka0825
2
390
企業内スモールデータでのデータ解析
hamage9
0
900
SAM × Dockerでサーバーレス開発が超捗った話
yu_yukk_y
1
380
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
190
Getting Started With Data Structures
adoranwodo
1
260
Recap CDN, Edge, WebAssembly | ワインと鍋.js#1
sadnessojisan
2
1.2k
Carp言語さわってみた 〜鯉を取り戻せ編〜
tsin45
0
110
Cloudflare WorkersでGoのHTTPサーバーを動かすライブラリを作った話
syumai
0
150
段階的な技術的負債の解消方法.pdf
ko2ic
2
940
ちょっとつよい足トラ
logilabo
0
400
VIMRC 2022
achimnol
0
140
Featured
See All Featured
Fireside Chat
paigeccino
13
1.4k
Designing with Data
zakiwarfel
91
4k
Infographics Made Easy
chrislema
233
17k
Rails Girls Zürich Keynote
gr2m
87
12k
Music & Morning Musume
bryan
35
4.3k
Side Projects
sachag
450
37k
Building an army of robots
kneath
299
40k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.7k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.4k
Gamification - CAS2011
davidbonilla
75
3.9k
Building Applications with DynamoDB
mza
84
4.8k
Transcript
Amplify Console Amplify Meetup #2
None
None
IR
None
None
None
Next.js React Server-side Rendering Webpack etc.
Next.js Server-side Rendering Incremental Static Regeneration Static Generation
Server-side Rendering Incremental Static Regeneration Static Generation Build Request Request
Request = Rendering
/pages/index.tsx / /pages/information.tsx /information /pages/information/outline.tsx /information/outline /public/ir/news.html /ir/news
$ next export
None
CI/CD
AWS Amplify Console
Pull Request BASIC
CI/CD
CI/CD amplify.yml YAML Amplify Console Amplify version: 1.0 backend: phases:
preBuild: commands: - yarn build: commands: - amplifyPush - - simple frontend: phases: preBuild: commands: - yarn build: commands: - yarn workspace hatenacorp build - yarn workspace hatenacorp export artifacts: baseDirectory: ./packages/hatenacorp/out files: - '** / * ' cache: paths: - 'node_modules / * * / * '
[ { "source": "/images", "target": "https: / / images.otherdomain.com", "status":
"200", "condition": null }, { "source": "/ < * > ", "target": "/404.html", "status": "404-200", "condition": null } ]
None
AWS CDK Infrastructure as Code AWS CloudFormation TypeScript
import * as cdk from '@aws-cdk/core' import * as amplify
from '@aws-cdk/aws-amplify' export class AmplifyStack extends cdk.Stack { constructor(scope: cdk.Construct, id: string, props ? : cdk.StackProps) { super(scope, id, props) const amplifyApp = new amplify.App(this, 'hatenacorp', { sourceCodeProvider: new amplify.GitHubSourceCodeProvider({ owner: 'hatena', repository: 'hatenacorp', oauthToken: cdk.SecretValue.secretsManager('hatenacorp-github-oauth-token'), }), autoBranchCreation: { patterns: ['staging'], }, }) } }
None
Amplify AWS AWS
Amplify GraphQL AWS AppSync DynamoDB Lambda S3
Next.js Amplify Console CDK