Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コーポレートサイトを静的化してAmplify Consoleにデプロイする
Search
cockscomb
November 27, 2020
Programming
3.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コーポレートサイトを静的化してAmplify Consoleにデプロイする
AWS Amplify Meet-up #2
で発表しました。
cockscomb
November 27, 2020
More Decks by cockscomb
See All by cockscomb
はてなアカウント基盤 State of the Union
cockscomb
1
1.4k
jq at the Shortcuts
cockscomb
1
2.1k
GraphQL放談
cockscomb
4
2.2k
GraphQL Highway
cockscomb
28
8.8k
吉田を支える技術
cockscomb
0
2.5k
ユーザインターフェイスと非同期処理
cockscomb
5
2.1k
GUIアプリケーションの構造と設計
cockscomb
10
10k
イカリング2におけるシングルページアプリケーション
cockscomb
2
7.7k
あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい
cockscomb
1
7.6k
Other Decks in Programming
See All in Programming
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
560
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
210
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
140
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
310
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
130
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
170
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
210
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
130
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
190
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
350
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
190
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Statistics for Hackers
jakevdp
799
230k
Designing Powerful Visuals for Engaging Learning
tmiket
1
470
Deep Space Network (abreviated)
tonyrice
0
250
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
250
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