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
jq at the Shortcuts
cockscomb
1
2.1k
GraphQL放談
cockscomb
4
2.1k
GraphQL Highway
cockscomb
28
8.8k
吉田を支える技術
cockscomb
0
2.5k
ユーザインターフェイスと非同期処理
cockscomb
5
2k
GUIアプリケーションの構造と設計
cockscomb
10
10k
イカリング2におけるシングルページアプリケーション
cockscomb
2
7.7k
あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい
cockscomb
1
7.6k
iOSアプリエンジニアのためのAndroidアプリ開発
cockscomb
7
2k
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
A2UI という光を覗いてみる
satohjohn
1
140
RTSPクライアントを自作してみた話
simotin13
0
610
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
AI 輔助遺留系統現代化的經驗分享
jame2408
1
740
Performance Engineering for Everyone
elenatanasoiu
0
170
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Bash Introduction
62gerente
615
220k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
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