Slide 1

Slide 1 text

Conventional Changelog ౦ژNodeֶԂ #22 2016-08-08 @kazupon

Slide 2

Slide 2 text

ࣗݾ঺հ https://github.com/kazupon

Slide 3

Slide 3 text

ҰԠϝϯόʔͳͷͰ࢓ࣄ͠ʹ͖·ͨ͠ ͜Ε

Slide 4

Slide 4 text

ࠓ೔࿩͢͜ͱ

Slide 5

Slide 5 text

Conventional Changelog

Slide 6

Slide 6 text

ຊ୊ʹೖΔલʹ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

changelog (มߋཤྺ) ॻ͍ͯ·͔͢ʁ ຊ୊ʹೖΔલʹ

Slide 9

Slide 9 text

changelog ॻ͔ͳ͍ཧ༝ طʹ Git ͳͲͷόʔδϣϯ؅ཧπʔϧͰมߋ಺༰ͱ͔ ॻ͍ͯ͋Δ͔Βɺgit log ΍ GitHub ͱ͔ͰάϥϑΟΧ ϧͳ΋ͷͰݟΕΔ͔Βɺॻ͔ͳ͍͍ͯ͘Ͱ͠ΐ

Slide 10

Slide 10 text

changelog ॻ͔ͳ͍ཧ༝ MS WordɺGoogle docs ͳͲͷผͳυΩϡϝϯτͰ ͲͬͪΈͪॻ͔͘Βɺಉ͡Α͏ͳ͜ͱͨ͘͠ͳ͍

Slide 11

Slide 11 text

ͦ΋ͦ΋ॻ͘ͷ͕ΊΜͲ͍ʂ ॻ͔ͳ͍࠷େཧ༝

Slide 12

Slide 12 text

झຯɺϓϩτλΠϓతͳ΋ ͷͳΒɺ·͍͍͋ͱͯ͠

Slide 13

Slide 13 text

ଞͷਓʹ࢖ΘΕΔιϑτ΢ΣΞ Λ։ൃͯ͠ఏڙ͍ͯ͠Δͷʹɺ
 ΊΜͲ͍ͬͯݴͬͯΔͷ͸

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

changelog ͸ඞཁͩ มߋ೔࣌ มߋऀ ର৅όʔδϣϯ มߋ಺༰ ιϑτ΢ΣΞͷมߋ಺༰Λ࣌ܥྻͰ ֓ཁΛ೺Ѳ͢Δͷʹ༰қ

Slide 16

Slide 16 text

changelog ͸͍ΖΜͳਓ͕ಡΉ WebαʔϏεɺΞϓϦɺ ۀ຿γεςϜͳͲͷιϑ τ΢ΣΞ։ൃ͍ͯ͠ΔΤ ϯδχΞ σβΠφʔ͞ΜͷΑ͏ͳ ։ൃʹܞΘ͍ͬͯΔ non- tech ͳਓ΋ ҰମԿ͕มߋ͞ΕͨΜͩΖ͏ʁ ͸ͨͯ͠ΞοϓάϨʔυ͢Δඞཁ͕͋Δ ͷͩΖ͏͔ʁ

Slide 17

Slide 17 text

͜ΕΛػʹॻ͍͍ͯͳ͔ͬͨਓ ͸ɺchangelog ॻ͖·͠ΐ͏ʂ

Slide 18

Slide 18 text

͋͋ɺchangelog ͕େࣄͳͷ ෼͔ͬͨ

Slide 19

Slide 19 text

Ͱ΋ɺGit Ͱ΋͏طʹมߋ಺༰ ͱ͔ॻ͍ͯ͋Δͷʹɺ ಉ͡Α͏ͳ͜ͱͨ͘͠ͳ͍ͳ͋

Slide 20

Slide 20 text

ͳΜ͔ɺָʹ changelog ॻ ͚ΔΑ͏ʹɺΑ͠ͳʹ΍ͬ ͯ͘ΕΔ΋ͷͳ͍ͷʁ

Slide 21

Slide 21 text

ͱࢥ͏ਓ͕͍Δͱࢥ͍·͢

Slide 22

Slide 22 text

ͦ͜Ͱ͜Ε͕ग़൪Ͱ͢Αʂ

Slide 23

Slide 23 text

Conventional Changelog ͱ͸ changelog ͷͨΊͷίϛοτϝοηʔδن໿ CLI πʔϧ΍ίϛοτϝοηʔδن໿Λݩʹ changelog Λੜ੒Ͱ͖Δ࢓૊ΈΛఏڙ

Slide 24

Slide 24 text

Conventional Changelog
 ಈ࡞Πϝʔδ ίϛοτϩά changelog
 ϑΝΠϧ ίϛοτϝοηʔδن໿ ϑΝΠϧ CLI ࣗಈੜ੒ !!

Slide 25

Slide 25 text

ੜ੒͞Εͨ changelog ͷத਎ ίϛοτϋογϡ͔Β GitHubͷURLΛඥ෇͚ͯ͘ΕΔ มߋ಺༰ΛάϧʔϓԽͱ͔΋
 ͯ͘͠ΕͨΓ͢Δ ྫ: karma ͷ CHANGELOG.md

Slide 26

Slide 26 text

جຊతͳ։ൃ࡞ۀͷྲྀΕ
 (࢖͍ํ)

Slide 27

Slide 27 text

1. ։ൃ࡞ۀ ࣮૷ or मਖ਼ ςετ

Slide 28

Slide 28 text

2. Git Ͱίϛοτ ։ൃ࡞ۀͰมߋͨ͠΋ͷΛίϛοτ

Slide 29

Slide 29 text

3. package.json 
 ͷόʔδϣϯΛ্͛Δ όʔδϣϯΛมߋ

Slide 30

Slide 30 text

4. CLI πʔϧΛ࣮ߦ $ conventional-changelog -i CHANGELOG.md -s -p angular

Slide 31

Slide 31 text

5. changelog ϑΝΠϧͱ package.json Λίϛοτ front-endͷΑ͏ͳϏϧυͨ͠΋ͷ΋ඞཁͳΒͦΕ΋ί ϛοτ

Slide 32

Slide 32 text

6. Git Ͱλά෇͚ git tag ͰόʔδϣϯΛλά෇͚

Slide 33

Slide 33 text

7. ϦϦʔε git push ͰϦϙδτϦʹΞοϓϩʔυ ඞཁʹԠͯ͡ npm publish

Slide 34

Slide 34 text

ಋೖ͢Δࡍͷ஫ҙ఺ ιʔεͰ͋Δ Git ίϛοτϩά͕μϝͩͱɺੜ੒͞ ΕΔ changelog ΋μϝͳ΋ͷ͕ੜ੒͞ΕΔ ίϛοτϝοηʔδن໿ʹैͬͯɺྑ͍ίϛοτϝο ηʔδΛॻ͘͜ͱ͕ॏཁ

Slide 35

Slide 35 text

ίϛοτϝοηʔδن໿
 ϓϦηοτ angular
 https://github.com/conventional-changelog/conventional-changelog-angular jquery
 https://github.com/conventional-changelog/conventional-changelog-jquery ember
 https://github.com/conventional-changelog/conventional-changelog-ember express
 https://github.com/conventional-changelog/conventional-changelog-express

Slide 36

Slide 36 text

ίϛοτϝοηʔδن໿
 ϓϦηοτ jshint
 https://github.com/conventional-changelog/conventional-changelog-jshint eslint
 https://github.com/conventional-changelog/conventional-changelog-eslint code mirror
 https://github.com/conventional-changelog/conventional-changelog-codemirror atom
 https://github.com/conventional-changelog/conventional-changelog-atom

Slide 37

Slide 37 text

❤͓קΊϓϦηοτ ❤

Slide 38

Slide 38 text

ಠࣗίϛοτϝοηʔδ
 ن໿ͷఆٛ ΋ͪΖΜࣗ෼Ͱίϛοτϝοηʔδن໿Λఆٛ͢Δ ͜ͱ͕Ͱ͖Δ ΦϨΦϨ ίϛοτϝοηʔδن໿

Slide 39

Slide 39 text

Angular ͷίϛοτϝοηʔδن໿Λ֦ு ͯ͠ emoji ʹରԠͨ͠ྫ https://github.com/kazupon/git-commit-message-convention

Slide 40

Slide 40 text

ಠࣗίϛοτϝοηʔδͷఆٛ(֦ு)

Slide 41

Slide 41 text


 JSͰΧελϜϝοηʔδن໿Λ࣮૷ changelog ʹ
 ॻ͖ࠐΉࡍͷ
 άϧʔϓม׵ઃఆ ίϛοτϝοηʔδ ͔Βநग़͢Δύλʔϯઃఆ

Slide 42

Slide 42 text

ੜ੒͞Εͨ changelog emoji ίʔυ͕ೖͬͨάϧʔϐϯά ಠࣗʹఆٛͨ͠άϧʔϓ ಠࣗʹఆٛͨ͠ notekeywords

Slide 43

Slide 43 text

emoji ೖΓͰมߋཤྺ͕දࣔ

Slide 44

Slide 44 text

ςϯϓϨʔτͷΧελϚΠζ handlebars ه๏
 ͰΧελϚΠζͰ͖Δ ϑΝΠϧ͸ جຊ markdown ܗࣜ

Slide 45

Slide 45 text

ςϯϓϨʔτͷߏ଄ جຊ template.hbs ʹҎԼͷΑ͏ʹ ߏ଄Խ͞Ε͍ͯΔ
 - header
 - commitGroups
 - commits
 - commit
 - footer (͋Ε͹) ڽͬͨςϯϓϨʔτͷΧελϚΠζΛ͍ͨ͠৔߹͸ɺ ఏڙ͞Ε͍ͯΔίϛοτϝοηʔδن໿ͷ֤ϓϦηο τͷ templates σΟϨΫτϦΛࢀߟʹ͢ΔͱΑ͍

Slide 46

Slide 46 text

Angular ίϛοτϝοηʔδن໿ͷ
 ςϯϓϨʔτ https://github.com/conventional-changelog/conventional-changelog-angular/tree/master/templates

Slide 47

Slide 47 text

GitHub Release Integration conventional-github-releaser Ͱ GitHub Release ͱ࿈ ܞ͢Δ͜ͱՄೳ
 $ conventional-github-releaser -p angular -r 0

Slide 48

Slide 48 text

API Conventional Changelog Ͱఏڙ͍ͯ͠Δ CLI πʔϧ Ͱຬ଍ग़དྷͳ͍৔߹͸ɺఏڙ͍ͯ͠Δ API Λۦ࢖͠ ͯಠࣗπʔϧ΋࡞Δ͜ͱ΋Մೳ

Slide 49

Slide 49 text

Linter: conventional-changelog-lint https://github.com/marionebl/conventional-changelog-lint

Slide 50

Slide 50 text

πʔϧͱͷ࿈ܞ Gulp
 changelog ੜ੒ΛλεΫʹΑΔࣗಈԽ
 https://github.com/conventional-changelog/gulp-conventional-changelog Grunt
 GitHub Release ΛλεΫʹΑΔࣗಈԽ
 https://github.com/conventional-changelog/grunt-conventional-github-releaser Atom
 https://github.com/conventional-changelog/atom-conventional-changelog

Slide 51

Slide 51 text

Atom ʹఏڙ͞Ε͍ͯΔπʔϧ͸ Changelog Λੜ੒ɺ·ͨ͸ GitHub Release ͕Ͱ͖Δ

Slide 52

Slide 52 text

ͦͷଞศརπʔϧ standard-changelog
 Angluar ίϛοτϝοηʔδن໿ʹಛԽͨ͠πʔϧ
 https://github.com/conventional-changelog/standard-changelog standard-version
 Angular ίϛοτϝοηʔδن໿ϕʔεͰɺchangelog ੜ੒ɺࣗ ಈόʔδϣχϯά͠ɺGitHub Squash ͞Εͨίϛοτϩάʹ΋ର Ԡ
 https://github.com/conventional-changelog/standard-version conventional-recommended-bump
 Ͳͷόʔδϣϯ(major/minior/patch)Ξοϓͳͷ͔ڭ͑ͯ͘ΕΔ πʔϧ
 https://github.com/conventional-changelog/conventional-recommended-bump

Slide 53

Slide 53 text

ར༻͍ͯ͠ΔϓϩδΣΫτ Conventional Changelog
 https://github.com/conventional-changelog Angular
 https://github.com/angular/angular Karma
 https://github.com/karma-runner/karma JSHint
 https://github.com/jshint/jshint Vue.js (vue-validator)
 https://github.com/vuejs/vue-validator
 
 … ͳͲ
 


Slide 54

Slide 54 text

·ͱΊ changelog ͸ॏཁͳ΋ͷ Conventional Changelog ͰΊΜͲ͏ͳ changelog Λࣗಈੜ੒͢Δ͜ ͱ͕Ͱ͖Δ Conventional Changelog ͸͍Ζ͍Ζศར CLI πʔϧͱΧελϚΠζΛ ఏڙ ίϛοτϝοηʔδن໿ changelog ग़ྗςϯϓϨʔτ API ͳͲ ಋೖ͢Δ͜ͱͰιϑτ΢ΣΞ։ൃͷཤྺ؅ཧͷΈͳͣɺϦϦʔεɺόʔ δϣχϯάͱ͔΋ָʹͳΕΔ

Slide 55

Slide 55 text

Happy changelogging!!