Slide 1

Slide 1 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDKʹίϯτϦϏϡʔτ͢ΔͨΊͷ ۩ମతͳํ๏ ࠤ౻ஐथ Ϋϥεϝιου גࣜձࣾ B - 0 6 2 0 . 1 0 . 2 0 2 0

Slide 2

Slide 2 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ࣗݾ঺հ - ࠤ౻ஐथ - Ϋϥεϝιουגࣜձࣾ - CXࣄۀຊ෦ʢIoTνʔϜͱࣗࣾαʔϏε։ൃʣ - લ৬ɿSIerͷSEΛ4೥ऑ - ݱࡏɿαʔόʔαΠυΤϯδχΞ - ޷͖ͳAWSαʔϏεɿLambdaɺCDK @tmk2154 @tomoki10

Slide 3

Slide 3 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ΞδΣϯμ - ର৅ͱ͢Δࢹௌऀ - ίϯτϦϏϡʔτ͢Δͱྑ͍͜ͱ - AWS CDKͷߏ੒ͱৄࡉ - ίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌ - ࣮ࡍʹίϯτϦϏϡʔτͨ͠ྲྀΕ - ·ͱΊ

Slide 4

Slide 4 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ର৅ͱ͢Δࢹௌऀ - AWS CDK or େ͖ΊͷOSSʹίϯτϦϏϡʔτͯ͠Έ͍ͨਓ ΤϯδχΞ΍ͬͯΔΜͩ͠Ұ౓͙Β͍͸΍ͬͯΈ͍ͨ ͔ͤͬͩ͘͠υΩϡϝϯτ͚ͩ͡Όͳͯ͘ιʔε΋ίϛοτ͍ͨ͠ - AWS CDK͸಺෦ߏ੒Λগ͠஌Γ͍ͨ దٓઆ໌͸ೖΕ·͕͢ɺAWS CDKͷBlackBeltΛݟ͍ͯΔͱ෼͔Γ΍͍͔͢΋ ໨ඪ - ʮ͜ΕͳΒࣗ෼Ͱ΋ग़དྷͦ͏ʂʯͱࢥͬͯ΋Β͏͜ͱ

Slide 5

Slide 5 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ίϯτϦϏϡʔτ͢Δͱྑ͍͜ͱ - ษڧʹͳΔ ීஈCDKΛ࢖͏ࡍʹߏ੒Λཧղ͍ͯ͠Δͱগ͠͸ૣ࣮͘૷Ͱ͖Δ CloudFormationͷ੍໿͔CDKͷ໰୊͔ͷ۠ผ͕͖ͭ΍͍͢ - Կͷػೳ͕Ͱ͖Δͷ͔͍ͪૣ͘஌ΕΔ ઌ೔ൃද͞ΕͨCLF͔ΒCDKͷϚΠάϨʔγϣϯ΍v2ͷৄࡉΛઌʹ஌ΕΔ - ࣗ෼ͷιʔε͕ҙ֎ͳͱ͜Ͱग़ͨΓͯ͠໘ന͍

Slide 6

Slide 6 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - Building Real-time Backends with AWS AppSync & CDK CDK Dayͷ༷ࢠ https://www.youtube.com/watch?v=qJutZqXMdgM&t=4616s

Slide 7

Slide 7 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDKͷߏ੒ͱৄࡉ

Slide 8

Slide 8 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDK(Cloud Developer Kit)ͱ͸ - ࢖͍׳ΕͨݴޠͰAWSϦιʔεΛϓϩϏδϣχϯάͰ͖ΔπʔϧΩοτ - ݱࡏ͸TS/JSɺPythonɺJavaɺC#Ͱ࢖༻Մೳ(ࠓޙ͸Go΋?) πʔϧͷ಺෦ͷ։ൃ͸TypeScriptϝΠϯ - ϓϩάϥϛϯάݴޠͰϦιʔε؅ཧ͕Ͱ͖Δ →ਅͷIaCπʔϧ(ݸਓͷײ૝Ͱ͢) - ͍ͣΕ͸ CDK for TerraformͰGCP΍Azure΋؅ཧ? AWS Cloud Development Kit

Slide 9

Slide 9 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDKͷݸਓతʹࢥ͏ར఺(BlackBeltΑΓҰ෦Ҿ༻) - ΤσΟλͰܕνΣοΫɺαδΣετɺ࢓༷ࢀর͕Ͱ͖Δ →WebυΩϡϝϯτͳ͠Ͱ΋࢓༷ͷ֬ೝ΍࣮૷͕Մೳ - Ұൠʹίʔυྔ͕ݮΔ →SQS+Lambda+SNS͕CloudFormationͷ࣮૷ͩͱ340ߦఔ ɹCDKͩͱ100ߦఔ˞ ※ʮMoving from CFN YAML to CDK - Benefits, how to do it in prod and moreʯ ɹhttps://www.youtube.com/watch?v=qJutZqXMdgM&t=12485s - ෳ਺ελοΫؒͷґଘؔ܎͕هड़Ͱ͖Δ →؆қͳίʔυͰAPI Gateway+LambdaͳͲΛผελοΫʹॻ͚ΔͳͲ

Slide 10

Slide 10 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDK ΞϓϦέʔγϣϯͷߏ੒ - App - CloudFormationςϯϓϨʔτੜ੒ͱ σϓϩΠʹ࢖༻͞ΕΔཁૉ - ελοΫؒͷґଘؔ܎Λఆٛ - Stack - CloudFormationͰ͍͏ελοΫ - σϓϩΠͷ࠷খ୯Ґ - Construct - Stack಺Ͱੜ੒͢ΔAWSϦιʔε - Construct LibraryͰఆٛ Ҿ༻ݩ: https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/

Slide 11

Slide 11 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with AWS CDK ΞϓϦέʔγϣϯͷߏ੒ - App - CloudFormationςϯϓϨʔτੜ੒ͱ σϓϩΠʹ࢖༻͞ΕΔཁૉ - ελοΫؒͷґଘؔ܎Λఆٛ - Stack - CloudFormationͰ͍͏ελοΫ - σϓϩΠͷ࠷খ୯Ґ - Construct - Stack಺Ͱੜ੒͢ΔAWSϦιʔε - Construct LibraryͰఆٛ Ҿ༻ݩ: https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/

Slide 12

Slide 12 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with Constructͷߏ੒ - L1 (Low Level) Construct CloudFormationͷϦιʔεͱ 1ର1ͰରԠ (ࣗಈੜ੒) - L2 (High Level) Construct σϑΥϧτ஋΍௥Ճͷؔ਺Λ࣮૷͠ ͯL1 ConstructΛந৅Խ ɹ - L3 Construct (Patterns or etc…) ෳ਺Ϧιʔε΍L2 ConstructΛ͞Β ʹந৅Խͯ͠ར༻͢Δ৔߹ Ҿ༻ݩ: https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/

Slide 13

Slide 13 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with TIPS: Constructͷߏ੒(AppSyncͷ۩ମྫ) - ϕʔεͱͳΔιʔε GithubϦϙδτϦɿhttps://github.com/aws/aws-cdk ্هϦϙδτϦͷ aws-cdk/packages/@aws-cdk/aws-appsync @aws-cdk഑Լʹ֤AWSϦιʔε༻ͷύοέʔδ͕͋Δ - L1 (Low-Level) Construct aws-appsync/lib ഑Լͷ appsync.generated.ts ϑΝΠϧ Ϗϧυ͠ͳ͍ͱੜ੒͞Εͳ͍(GitHub্Ͱݟ͑ͳ͍)ͷͰ Gitpod ͳͲͰ֬ೝ - L2 (High-Level) Construct graphqlapi.tsɺschema-base.ts ͳͲ͍͔ͭ͘ͷϑΝΠϧʹ෼͔Ε͍ͯΔ

Slide 14

Slide 14 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌

Slide 15

Slide 15 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ίϯτϦϏϡʔςΟϯάΨΠυͱ͸ - OSS΁ߩݙ͍ͨ͠ਓ޲͚ʹઃܭ΍࣮૷ํࣜΛڞ༗͢ΔυΩϡϝϯτ https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md#partial-build-tools https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md

Slide 16

Slide 16 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ίϯτϦϏϡʔςΟϯάΨΠυͷ಺༰ • PRΛૹΔ·Ͱஈ֊͝ͱʹ΍Δ΂͖͜ͱͳͲ͕ॻ͔Ε͍ͯΔ ɹࠓճ͸ҎԼͷ3ͭΛத৺ʹ঺հ - ؀ڥߏங - issue͔Β࣮૷Ϛʔδ·ͰͷྲྀΕ - ֤छπʔϧͷ঺հ

Slide 17

Slide 17 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ؀ڥߏங Gitpod ɹGitHub͔ΒϫϯΫϦοΫͰ؀ڥߏஙͯ͠࢖͑ΔWebIDE(ࠓճ঺հ) ɹˠιʔεͷ֬ೝ΍ͪΐͬͱͨ͠मਖ਼Ͱ༗༻ Docker ɹDockerΠϝʔδ͔Β؀ڥ࡞੒ ɹˠܧଓతͳ։ൃͰ༗༻ ϩʔΧϧ؀ڥ ɹNode.js΍JavaͷόʔδϣϯΛ߹Θͤͯߏங ɹˠ؀ڥͷ؅ཧ͕େมͳͷͰଟ෼ඇਪ঑

Slide 18

Slide 18 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with Gitpodͱ͸ - GitHub͔ΒϫϯΫϦοΫͰ؀ڥߏஙͯ͠࢖͑ΔWebIDE - VS Code ϥΠΫͳ։ൃ؀ڥ͕Web্Ͱ࢖͑Δ - ॳظͷϏϧυઃఆ΋͋ΔͷͰϫϯΫϦοΫͰ࣮૷͕࢝ΊΒΕΔ - 1ϲ݄Ͱ50࣌ؒ·Ͱ͸ແྉ

Slide 19

Slide 19 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with TIPS: GitpodΛCDKͷ։ൃͰ࢖͏৔߹ͷ஫ҙ఺ - Gitpodॳճىಈ͸1࣌ؒऑ͔͔Δ ɹશମϏϧυ͕૸ΔͷͰ্ཱ͕ͪΔ·Ͱ͕஗͍ɻ1ճϏϧυ͕௨Ε͹࠶ىಈ࣌͸਺෼ఔ౓Ͱಈ࡞Մೳ ɹ 2ճ໨Ҏ߱ͷىಈ͸Gitpodͷը໘Ͱߦ͏ɻ(ઌ΄ͲͷϘλϯΛԡ͢ͱຖճ৽͍͠Πϯελϯε͕Ͱ͖Δ) - ్தͰϏϧυ͕͚͜ΔͱผͷϦιʔεͷ͍ͤͰςετ͕௨Βͳ͍࣌΋͋Δ ɹର৅ͷσΟϨΫτϦʹͯ scripts/buildup(ޙड़) Ͱؔ࿈͢ΔϦιʔεΛ࠶౓Ϗϧυ͢Δͱଟ෼େৎ෉ ɹ ࠷ѱ৽͍͠Gitpodͷ؀ڥΛ্ཱͪ͛Δ - Gitpod্ͷAccess Control※ͰݖݶΛ༩͑ͳ͍ͱPushͰ͖ͳ͍ ɹGitpodͷWebUIͰʮwrite public reposʯͷݖݶΛ༩͑Δ͜ͱ ※https://gitpod.io/access-control/

Slide 20

Slide 20 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with issue͔Β࣮૷Ϛʔδ·ͰͷྲྀΕ - ίϯτϦϏϡʔςΟϯάΨΠυΛϕʔεʹগ͠ม͍͑ͯ·͢ - issueΛཱͯΔ/୳͢ - ઃܭ(Φϓγϣϯ) - ࣮૷(Magic) ‣ ࣮૷ɺ୯ମ/݁߹ςετ ‣ ಈ࡞֬ೝ - ίϛοτ࡞੒ϧʔϧΛ֬ೝ - PRͷ࡞੒ - ϨϏϡʔ/Ϛʔδ ίϯτϦϏϡʔςΟϯάΨΠυͷྲྀΕ

Slide 21

Slide 21 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with issueΛཱͯΔ/୳͢ - طଘͷissueΛ֬ೝͯ͠ɺ৽͍͠໰୊Ͱ͋Ε͹issueΛཱͯΔ ɹணखͰ͖ͦ͏Ͱ͋Ε͹issueʹॻ͘ - طଘͷissueͰߩݙͰ͖ͦ͏ͳ಺༰Λ୳͢ ɹeffort/smallɺgood first issue ϥϕϧ͕෇͍͍ͯΔissue͸ൺֱత؆୯ ɹAWSϦιʔεͷվमͷ৔߹͸ʮ@aws-cdk/aws-xxxʯͷλάΛ୳͢ Feature Request ͷྫ label ݕࡧ݁Ռ

Slide 22

Slide 22 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ઃܭ - த~େن໛ͳมߋͷ৔߹͸͋Β͔͡ΊઃܭΛߦ͏ ɹઃܭΨΠυϥΠϯΛ֬ೝͷ্Ͱissueʹίϝϯτ͢Δ ɹˠઃܭࢥ૝͕͋ͬͯͳ͍ͱमਖ਼ͩΒ͚ʹ… ࠷ॳ͸Θ͔Γ΍͍͢issue͔Βணखͷํ͕ྑ͍͔΋ - ઃܭΨΠυϥΠϯͷ֬ೝ͸༗༻ CDKશମͷઃܭࢥ૝ʹ͍ͭͯॻ͔Ε͍ͯ·͢ʢগ͠௕͍ʣ https://github.com/aws/aws-cdk/blob/master/DESIGN_GUIDELINES.md

Slide 23

Slide 23 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ࣮૷(Magic) - ҰൠతͳίʔσΟϯάελΠϧͰ࣮૷ ɹ2 space indentɺԣ෯120จࣈͳͲৄࡉ͸ΨΠυࢀর - ͢΂ͯͷมߋʹ͸୯ମςετ͕ඞཁ ɹtest഑Լͷιʔεʹ୯ମ/݁߹ςετΛ௥Ճ͢Δ(JestͰ࣮૷) - ίϝϯτ௥Ճ΋৔߹ʹΑͬͯඞཁʢमਖ਼͠ͳ͍ͱLintͰwarningʹͳΔʣ ɹ֎෦͔Βݺͼग़͢ࡍͷύϥϝʔλมߋͳͲAPIͷมߋ͸READMEΛߋ৽ ɹύϥϝʔλ௥ՃͳͲͷ৔߹͸jsdocs΋ߋ৽

Slide 24

Slide 24 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ࣮૷(୯ମςετ) • ςετ࣮૷ʹ͸JestΛ࢖༻(Ұ෦ݹ͍΋ͷ͸node-unit) - JavaScript/TypeScriptͰ࢖͑ΔςεςΟϯάϑϨʔϜϫʔΫ - ଞͷϑϨʔϜϫʔΫ(JUnitͳͲ)Λ࢖ͬͨ͜ͱ͕͋Ε͹෼͔Γ΍͍͢ • ୯ମςετͷߏ੒ ɹҎԼͷςετ͕େ൒ - StackΛੜ੒ͯ͠ɺStackʹConstructΛ࡞੒ - Stackʹ૝ఆͨ͠Resourceؚ͕·Ε͍ͯΔ͔νΣοΫ

Slide 25

Slide 25 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • StackΛੜ੒ͯ͠ɺStackʹConstructΛ࡞੒ ࣮૷(୯ମςετ: appsync.test.tsͷ৔߹) let stack: cdk.Stack; let api: appsync.GraphqlApi; beforeEach(() => { stack = new cdk.Stack(); // ීஈͷbin഑Լͷ࣮૷ͱಉ༷ api = new appsync.GraphqlApi(stack, 'api', { // lib഑Լͱಉ༷ authorizationConfig: {}, name: 'api', schema: appsync.Schema.fromAsset(path.join(__dirname, 'appsync.test.graphql')), }); });

Slide 26

Slide 26 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • ςετ͍ͨ͠ConstructΛ࡞੒ • Stackʹ૝ఆͨ͠Resourceؚ͕·Ε͍ͯΔ͔νΣοΫ ࣮૷(୯ମςετ: appsync.test.tsͷ৔߹) test('appsync should configure pipeline … contents’, () => { // WHEN new appsync.Resolver(stack, 'resolver', { api: api, typeName: 'test', fieldName: 'test2', pipelineConfig: ['test', 'test'], }); // THEN expect(stack).toHaveResourceLike('AWS::AppSync::Resolver', { Kind: 'PIPELINE', PipelineConfig: { Functions: ['test', 'test'] }, }); });

Slide 27

Slide 27 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • ෳ਺αʔϏεʹލΔมߋ΍CLFΛ࢖ͬͨ৽͍͠ػೳΛ࡞Δ࣌ʹඞཁ • ݁߹ςετͷछྨ - CloudFormationςϯϓϨʔτΛੜ੒ͯ͠ൺֱ cdk synthΛ࣮ߦͯ͠test഑Լͷ *.expected.json ϑΝΠϧͱൺֱ - σϓϩΠͯ͠ݕূ yarn integ ίϚϯυΛ࣮ߦ͢ΔͱAWSΞΧ΢ϯτʹσϓϩΠʢAWSͷೝূ৘ใઃఆ͸ඞཁʣ ࣮૷(݁߹ςετ)

Slide 28

Slide 28 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • λΠτϧ͸ҎԼͷจݴͰ࢝ΊΔ feat(module): title fix(module): title refactor(module): title chore(module): title • มߋ͕ࣗ໌Ͱͳ͍৔߹͸ ֬ೝ಺༰Λهࡌ • ॏେͳมߋ͕͋Δ৔߹͸هࡌ ίϛοτ ίϛοτϝοηʔδ࡞੒ͷϕʔε͸ʮConventional Commitsʯ https://www.conventionalcommits.org/ja/v1.0.0-beta.4/

Slide 29

Slide 29 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • GitHubͷը໘্ͳͲ͔ΒͰPull RequestΛ࡞੒ ɹීஈGitHubϑϩʔͳͲͰ։ൃ͍ͯ͠Δ৔߹͸ͦΜͳʹมΘΒͳ͍ • PRνΣοΫϦετʹैͬͯηϧϑνΣοΫ - ୯ମςετ͸௥Ճ͔ͨ͠ - jsdocs͸ॻ͍͔ͨ - README͸దٓߋ৽͔ͨ͠ etc… Pull Request࡞੒

Slide 30

Slide 30 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • ϝϯςφ͔ΒϨϏϡʔΛड͚Δ ɹPRʹରͯ͠ࢦఠ͕͋Ε͹దٓमਖ਼͢Δ ɹૣ͍ͱPR࡞੒ͨ͠౰೔ʹϨϏϡʔ಺༰͕ίϝϯτ͞ΕΔ • ιʔεΛमਖ਼ͯ͠Push मਖ਼ʹ໰୊͕ͳ͚Ε͹ϝϯςφ͕approve͢Δ ※ଞͷमਖ਼͕ฒߦͰ૸͍ͬͯͯςετ͕ίέΔ৔߹΋͋ΔͷͰͦͷࡍ͸मਖ਼͕ඞཁ →׬ྃ ϨϏϡʔ/Ϛʔδ

Slide 31

Slide 31 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • Linter - ESLint - pkglint - awslint - prlint • scripts/buildup • cfn2ts TIPS: ಺෦ͷπʔϧʢҰ෦ൈਮʣ

Slide 32

Slide 32 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • ESLint ɹtools಺ͷ eslintrc.js ͷઃఆ͕શମʹ൓өɻGitpodͰ΋ESLint Pluginͷ௥ՃͰܯࠂΛग़ͤΔ • pkglint ɹtools಺ͷ rules.ts ͷઃఆʹԠͯ͡ɺυΩϡϝϯτܗࣜ ΍ License ͷ੔߹ੑΛݕূ • awslint ɹaws construct library༻ͷlinterɻઃܭΨΠυϥΠϯʹ४ڌ͍ͯ͠Δ͔Λݕূ ɹ(ExperimentalͳύοέʔδͩͱJSDoc͕ͪΌΜͱ෇͍ͯͳͯ͘warn͕ग़ͯΔ͜ͱ΋) • prlint(ϕʔλ) ɹPRͷ໋໊نଇ΍ίϝϯτʹԠͯ͡ඞཁͳ߲໨͕଍Γ͍ͯΔͷ͔ݕূ TIPS: ಺෦ͷπʔϧʢLinterʣ

Slide 33

Slide 33 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • scripts/buildup ɹύοέʔδͷσΟϨΫτϦ಺Ͱ࣮ߦ͢Δͱɺؔ࿈͢Δύοέʔδ͚ͩ࠶ϏϧυͰ͖Δ ɹॳճϏϧυ͸େମ1࣌ؒ͘Β͍͔͔ͬͯίέΔ͜ͱ͕͋ΔͷͰ࢖͑Δ TIPS: ಺෦ͷπʔϧʢscript/buildupʣ ࣮ࡍʹॳճىಈͨ͠ࡍͷ݁Ռ

Slide 34

Slide 34 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • CloudFormationϦιʔε͔ΒTSͷίʔυΛੜ੒Ͱ͖Δπʔϧ ɹ***.generated.tsϑΝΠϧ͸͜ͷπʔϧͰੜ੒͞Ε͍ͯΔɻ ɹL1 ConstructͷରԠ͚ͩ΍͚ʹૣ͍ͷ͸͜ͷπʔϧͷ͓͔͛ʢChatbotͳͲʣ • Ϗϧυ࣌ʹ jsonϑΝΠϧ ͔Β TSϑΝΠϧΛੜ੒ ɹ@aws-cdk/cfnspec ഑ԼʹϏϧυͷࡍੜ੒͞ΕΔ specification.json Λݟ͍ͯΔʁ TIPS: ಺෦ͷπʔϧʢcfn2tsʣ

Slide 35

Slide 35 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕ

Slide 36

Slide 36 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - issueΛ୳͢/ίϝϯτ͢Δ - Fork/Gitpodઃఆ - ࣮૷ - ୯ମ/݁߹ςετ࡞੒ - Branch࡞੒/Push ࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕ - Pull Request࡞੒ - ϨϏϡʔ/मਖ਼ - ϝϯςφ͕Ϛʔδ ※͋͘·Ͱࢀߟ ɹ͜ͷ௨ΓͰͳͯ͘΋େৎ෉Ͱ͢

Slide 37

Slide 37 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - issueΛ୳͢ issueΛ୳͢/ίϝϯτ͢Δ - issueʹίϝϯτ͢Δ

Slide 38

Slide 38 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - ϦϙδτϦ͔ΒFork͢Δ - Forkͨ͠ϦϙδτϦͰGitpodΛىಈ Fork/Gitpodઃఆ

Slide 39

Slide 39 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ࣮૷ - Gitpod্ͰιʔεΛ֬ೝ࣮ͯ͠૷

Slide 40

Slide 40 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ୯ମ/݁߹ςετ - package.jsonΛ֬ೝͯ͠ςετʢ yarn build+test ͷ࣮ߦ݁Ռ ʣ ɹಈ࡞͕Θ͔Βͳ͍࣌͸ɺҙਤతʹςετΛյͯ͠ӨڹൣғΛ֬ೝ - ݸਓ༻ͷAWS؀ڥͰಈ࡞֬ೝ

Slide 41

Slide 41 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - Gitpod্ͰBrunch࡞੒ͯ͠commitͯ͠Push ɹGitΛ࢖༻ͨ͠ීஈͷ։ൃͱಛʹมΘΒͳ͍Ͱ͢ʢ Gitpodͷݖݶ͚ͩ͸஫ҙʂ ʣ Brunch࡞੒/Push

Slide 42

Slide 42 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - GitHub্ͰPull RequestΛ࡞੒ Pull Request࡞੒

Slide 43

Slide 43 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - ҎԼͷݪҼͰϦδΣΫτ ɹ1ίϛοτͰPR࡞੒ɺػೳ௥ՃͳͷʹREADMEมߋͳ͠ mergify bot ͷlintͰ஄͔ΕΔ

Slide 44

Slide 44 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - ΤϥʔͷݪҼΛमਖ਼ͯ͠࠶౓Push͢Ε͹׬ྃ merging bot ͷlintͳͲͰ஄͔ΕΔ

Slide 45

Slide 45 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - ϝϯςφͷํ͔Βࢦఠ͕དྷΔͷͰमਖ਼ ϨϏϡʔ/मਖ਼

Slide 46

Slide 46 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with - ϝϯςφͷํ1ਓҎ্͔Βapprove͞ΕΕ͹Ϛʔδ ϝϯςφ͕Ϛʔδ … …

Slide 47

Slide 47 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with ·ͱΊ

Slide 48

Slide 48 text

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with • AWS CDKͷߏ੒ͱৄࡉΛ঺հ ɹCDK͸AWSʹཹ·Βͣൃల͢ΔՄೳੑ͕͋Δʂ ৐Δ͔͠ͳ͍ɺ͜ͷϏοά΢Σʔϒʹʂ • ίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌ ɹ΍Γํ͸ίϯτϦϏϡʔςΟϯάΨΠυʹશͯॻ͍ͯ͋Δɻಡ΋͏ʂ • ࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕͷ঺հ ɹࣦഊͨ͠಺༰΋ؚΊͯίϯτϦϏϡʔτ·Ͱͷશମ૾Λ঺հ →໌೔͔Β͋ͳͨ΋AWS CDKͷίϯτϦϏϡʔλʔʹͳΖ͏ʂʂʂ ·ͱΊ

Slide 49

Slide 49 text

Thank you! © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. In Partnership with Tomoki Sato sato.tomoki@classmethod.jp