Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Integration for Pharo Smalltalk Part...

newapplesho
November 30, 2017

Continuous Integration for Pharo Smalltalk Part 2 (Travis CI)

第106回 Smalltalk勉強会 勉強会資料
続・SmalltalkとCI Continuous Integration for Pharo Smalltalk Part 2

newapplesho

November 30, 2017
Tweet

More Decks by newapplesho

Other Decks in Programming

Transcript

  1. ୈ 1 0 6 ճ S m a l l

    t a l k ษ ڧ ձ ଓ ɾ S m a l l t a l k ͱ C I C o n t i n u o u s I n t e g r a t i o n f o r P h a ro S m a l l t a l k P a r t 2 2 0 1 7 / 1 1 / 3 0 @ n e w a p p l e s h o
  2. ʮ ࢲ ͸ S m a l l t a

    l k e r Ͱ ͢ ʯ ͱ ͋ Δ ձ ৔ Ͱ https://www.flickr.com/photos/33852840@N06/5711073546/
  3. Α͘ ฉ ͔ Ε Δ ࣭ ໰ • Ͳ͏΍ͬͯڞಉ։ൃ͍ͯ͠ΔͷͰ͔͢ •

    Ͳ͏΍ͬͯιʔείʔυΛڞ༗͍ͯ͠·͔͢ • GitHub࢖Θͳ͍ΜͰ͔͢ https://www.flickr.com/photos/94466642@N00/178915319/
  4. ͳ ͥ ͜ Μ ͳ ࣭ ໰ ͕ ଟ ͍

    ͷ ͔ • ʮ෼͔Βͳ͍͜ͱ͸Smalltalkʹฉ͚ʯͱ͍͏Smalltalker͹͔ͬΓ • ຊ౰ͷ࢖͍ํʹ͍ͭͯυΩϡϝϯτ͕ͳ͍w • ͔ͤͬ͘ݟ͚ͭͨυΩϡϝϯτ͕ݹ͍ ҰମͲ͏ͳ͍ͬͯΔͩʂ CIҎલͷ໰୊͕ղܾ͍ͯ͠ͳ͍Α
  5. ͱ ͍ ͏ ͜ ͱ Ͱ ੲ ͜ Μ ͳ

    ษ ڧ ձ Λ ։ ͖ · ͠ ͨ https://www.slideshare.net/newapplesho/continuous-integration-for-pharo-smalltalk-smalltalk
  6. ͋ Ε ͔ Β 2 ೥ ɺ S m a

    l l t a l k ࣄ ৘ ΋ ม Θ Γ · ͠ ͨ
  7. ࣌ ୅ ʹ औ Γ ࢒ ͞ Ε Δ ͳ

    ࠓ࣌ͷSmalltalkͷιʔείʔυ؅ཧͱϏϧυํ๏ʹ͍ͭͯ঺հ
  8. ࠓ ೔ ͷ ϝ χ ϡ ʔ • Smalltalkͷιʔείʔυ؅ཧͱڞ༗ʹ͍ͭͯ •

    ఻౷తͳSmalltalk ImageͷࣗಈϏϧυ • ࠓ࣌ͳSmalltalk ImageͷࣗಈϏϧυ
  9. S m a l l t a l k Ͱ

    ͷ ι ʔε ί ʔ υ ͷ ڞ ༗ • imageΛ౉ͯ͠ιʔείʔυΛڞ༗͢Δͷ͸ ݹ࿩ • Pharo BookͩͱͲ͏هࡌ͞Ε͍ͯΔͷ͔ http://books.pharo.org/
  10. ී ௨ ͷ ι ʔε ί ʔ υ ڞ ༗

    ํ ๏ • খ͞ͳιʔείʔυ͸file outͰରԠ • Monticello Browserܦ༝ͰSmalltalkHub, SqueakSource, FTP…..ʹอଘ PBEͰ͸SmalltalkHub͸ʮSmalltalkHub: a GitHub for Pharoʯͱ঺հ͞Ε͍ͯΔ ͪΐͬͱແཧ͋ΔΑͶ
  11. ̎ ೥ લ ΋ ಉ ͡ Α ͏ ͳ ͜

    ͱ ݴ ͬͯ ͍ ͨ https://www.slideshare.net/newapplesho/continuous-integration-for-pharo-smalltalk-smalltalk/14 SmalltalkerͰ΋Git, GitHub͸࢖͍͍ͨ
  12. G i t Λ ҙ ࣝ ͠ ͨ ι ʔε

    ί ʔ υ ؅ ཧ • Monticello BrowserͰFileTreeΛબ୒ͯ͠ιʔεʔίʔυΛग़ྗ • ग़ྗ͞ΕͨιʔείʔυΛGitͰ؅ཧʢPharo্ͰGitͷૢ࡞͸Ͱ͖ͳ͍ʣ
  13. G i t H u b ͱ B a s

    e l i n e O f • Squeak, Pharo SmalltalkͰ͸ύοέʔδ؅ཧͱͯ͠ConfigurationOfΛ࢖͏ ͜ͱ͕ଟ͍ • BaselineOf͸GitͰιʔείʔυΛ؅ཧ͢Δ্ͰಛผͳConfigurationOf • ಛʹGitHubͰιʔείʔυΛެ։͢Δ৔߹ɼBaselineOf΋௥Ճ͢ΔͱΑ͍
  14. B a s e l i n e O f

    ͷ ॻ ͖ ํ https://github.com/newapplesho/elasticsearch-smalltalk/blob/master/pharo-repository/ BaselineOfElasticsearch.package/BaselineOfElasticsearch.class/instance/baseline..st e.g.
  15. ެ ։ ͞ Εͯ ͍ Δ ϥ Π ϒ ϥ

    Ϧ ͷ ಡ Έ ࠐ Έ ํ ๏ Elasticsearch API clientͷྫ https://github.com/newapplesho/elasticsearch-smalltalk Metacello new baseline: 'Elasticsearch'; repository: 'github://newapplesho/elasticsearch-smalltalk/pharo-repository'; load.
  16. ެ ։ ͞ Εͯ ͍ Δ ϥ Π ϒ ϥ

    Ϧ ͷ ಡ Έ ࠐ Έ ํ ๏ Metacello new baseline: 'Elasticsearch'; repository: 'github://newapplesho/elasticsearch-smalltalk/pharo-repository'; load.
  17. ༷ ʑ ͳ ಡ Έ ࠐ Έ ํ ๏ ͕

    ͋ Γ · ͢ Metacello new baseline: 'Elasticsearch'; repository: 'github://newapplesho/elasticsearch-smalltalk/pharo-repository'; load. Metacello new baseline: 'Elasticsearch'; repository: 'github://newapplesho/elasticsearch-smalltalk:v1.1.8/pharo-repository'; load. Metacello new baseline: 'Elasticsearch'; repository: 'github://newapplesho/elasticsearch-smalltalk:6f0428444939765e8b07b922b5a256780f4fc9e2/pharo-repository'; load. http://blog.yuriy.tymch.uk/2015/07/pharo-and-github-versioning-revision-2.html ৄ͘͠ҎԼͷهࣄΛࢀߟʹ͢ΔͱΑ͍
  18. G i t H u b Ͱ ؅ ཧ ͠

    ͨ ι ʔε ί ʔ υ ͷ Ϗ ϧ υ ํ ๏ • ҎલͷษڧձͰ঺հͨ͠ํ๏ • Pharo imageΛJenkinsΛ༻͍ͯࣗಈϏϧυ͢Δ؀ڥ • Lukas Rengglis࡞ • https://github.com/renggli/builder • scripts಺ͷίʔυΛ࣮ߦ͢Δ͜ͱͰimageΛࣗಈϏϧυՄೳ builder Ͱ΋ಈ͔ͳ͍
  19. G i t H u b Ͱ ؅ ཧ ͠

    ͨ ι ʔε ί ʔ υ ͷ Ϗ ϧ υ ํ ๏ • https://github.com/newapplesho/builder • builderಈ͔ͤΔΑ͏ʹ͢ΔΑ͏ʹมߋ • scriptsϑΝΠϧ͸ݫબͨ͠΋ͷ͚ͩΛcommit • ݱঢ়͸CentOS 6༻ builder (newapplesho൛) SORABITOͰ͸͜ΕΛ͞Βʹվ଄ͨ͠builderΛ࢖͍ͬͯΔ
  20. ͋ ͷ b u i l d e r ͸

    ࠓ • Pharo builderͱ͍͏ͷ͕Ͱ͖ͨ • https://github.com/renggli/pharo-builder • ΈΜͳforkͯ͠࢖͍ͬͯΔͷͰͳΜ͔ͩո͍͠ https://www.flickr.com/photos/jacky_oh_yeah/5048261366/
  21. b u i l d e r ΄ Ͳͷ ػ

    ೳ ͕ ͍ Δ ͷ ͔ • Ϗϧυ؀ڥ͕JenkinsͳͷͰ΍Ζ͏ͱࢥ͑͹৭ʑͰ͖Δ • ͨͩϏϧυͱςεταʔόʔͷϝϯςφϯε͸ҙ֎ʹେม • झຯͰ࡞Δʹͯ͠΋େม • ΍Γ͍ͨ͜ͱ͚ͩʹϑΥʔΧε͢Δ͜ͱ͕େࣄ ϏϧυɾςετɾσϓϩΠಛԽͷCIΛݕ౼͢Δ
  22. S m a l l t a l k C

    I https://github.com/hpi-swa/smalltalkCI
  23. S m a l l t a l k C

    I • Travis CIΛ༻͍ͨϏϧυ͓Αͼςετ؀ڥͷͨΊͷϑϨʔϜϫʔΫ • GitHub্ʹTravis CIͷYAMLͱϏϧυ͓Αͼςετ࣮ߦͷͨΊͷstonϑΝΠ ϧΛ֨ೲ͢Ε͹ར༻Մೳ • Travis CI͸ΦʔϓϯιʔεϓϩδΣΫτͳΒ͹ແྉͰར༻Մೳ • ࠷ۙͷϥΠϒϥϦ͸SmalltalkCIΛαϙʔτ͍ͯ͠Δ͜ͱ͕ଟ͍ • ߋ৽ස౓͕ߴ͍ʂ
  24. ଈ ࣌ Tr a v i s C I ର

    Ԡ ʹ ͠ · ͠ ͨ • Ϗϧυݕূ༻ͷjenkinsͷ༻ҙ͕ෆཁ • झຯͰ࡞͍ͬͯΔͱ͜Ζ΋͋ΔͷͰຊؾӡ༻͸ਏ͍ • ݴޠόʔδϣϯ͝ͱʹϏϧυͷݕূ͕Ͱ͖Δ • ϏϧυͰ͖ͳ͍ίʔυΛެ։͢Δ͜ͱ͕ͳ͘ͳΔ https://medium.com/@newapplesho/%E5%85%A8%E3%81%A6%E3%81%AEsmalltalk-library%E3%82%92travis-ci-smalltalkci- %E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%81%AE%E6%A4%9C%E8%A8%BC%E3%81%99%E3%82%8B%E3%81% 93%E3%81%A8%E3%81%AB%E3%81%97%E3%81%9F-4e5f065f547a ࣗ෼ͷϥΠϒϥϦ͸ॱ࣍ରԠத
  25. S m a l l t a l k C

    I ͷ ࢖ ͍ ํ
  26. S O R A B I T O ͱ S

    m a l l t a l k C I • SORABITOͰ͸Smalltalk CIΛϑΥʔΫͨ͠΋ͷΛ࢖͍ͬͯΔ • https://github.com/sorabito/smalltalkCI • ੒Ռ෺ΛS3ʹ֨ೲ͢Δ͜ͱΛҙࣝͨ͠Ϗϧυ • stonϑΝΠϧҎ֎ʹbuilderʹࣅͨbefore,after scriptͷ࣮ߦΛՄೳʹͨ͠ • ର৅ϦϙδτϦͷ௚Լʹbuild/before, build/afterσΟϨΫτϦΛ࡞ͬͯst ϑΝΠϧΛ֨ೲ͢Ε͹࣮ߦ͞ΕΔ