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

Continuous Integration for Pharo Smalltalk

Continuous Integration for Pharo Smalltalk

Continuous Integration for Pharo Smalltalk. Smalltalkと継続的インテグレーション

newapplesho

January 30, 2016
Tweet

More Decks by newapplesho

Other Decks in Programming

Transcript

  1. ιʔείʔυ؅ཧ • Smalltalkͷॲཧܥ͸ͨ͘͞Μ͋Γ؅ཧํ๏΋όϥόϥ • Pharo Smalltalkʹ͍ͭͯઆ໌͠·͢ʢԼه͸ద౰Ͱ͢ɻ͢Έ·ͤΜʣ 2015 2010ࠒ 2012ࠒ 2014

    2002? MetacelloʹΑΔฏఆ FileTreeͷొ৔ Pharo3.0 Released FileTreeඪ४૷උ Pharo4.0 Released Monticello(MCZ)ͷग़ݱ Squeak Released ύοέʔδͷಋೖ?? 2008 MCZͷීٴͱϦϙδτϦͷཚཱ GitHubͷ౸དྷ 1996? Pharo Released MCZࠞಱ࣌୅ͷ౸དྷ 2013? SmalltalkHubొ৔ʁ Gitग़ݱ 2005? FileTree+GitHubͰͷύοέʔδެ։͕૿͑ͯ͘Δ͸ͣ Git؅ཧئ๬࣌୅ʁ GitHub Enterpriseఏڙ։࢝ Smalltalkͱग़ձ͏
  2. MCZࠞಱ࣌୅ͷ౸དྷ • MCZܗࣜ͸ศརͰ͸͕͋ͬͨܽ఺΋ଟ͔ͬͨ • ύοέʔδؒͷґଘؔ܎ղܾ͕೉͍͠ʢࣗ෼ͷύοέʔδʹೖΕΔߥٕ͕ ͋ͬͨΓώυ͔ͬͨʣ • ॲཧܥɺॲཧܥͷόʔδϣϯΛࢦఆͰ͖ͳ͍ʢʮಈ͚͹OKʂʯͬͯϊϦɻ ͍͍ͷ͔ʁʣ •

    ࠷৽Խ͸৬ਓٕʢʮ͜Εͩʂʯͬͯͳײ͡ͰMCZϑΝΠϧΛखಈϩʔυʣ ࢲ͸ֶੜͷࠒSmalltalkΠϝʔδ࡞Γ৬ਓʹͳ͍ͬͯͨ mario https://www.flickr.com/photos/64738468@N00/31049645/
  3. FileTreeͷొ৔ ࢀߟࢿྉ: http://www.slideshare.net/esug/of-metacello-git-scripting-and-things FileTreeͱ͸ Monticello repository for directory-based Monticello packages

    enabling the use of git, svn, etc. for managing Smalltalk source code. https://github.com/dalehenrich/filetree ΑΓ ιʔείʔυΛgit౳Ͱ؅ཧ͢ΔͨΊͷ σΟϨΫτϦϕʔεͷιʔείʔυ؅ཧπʔϧ ൃݟͨ͠ͱ͖Pharo2.0ʹଈ࠲ʹΠϯετʔϧͨ͠
  4. BaselineΛ࢖ͬͨಡΈࠐΈ | pathToPackageDirectory | "edit to match the path to

    your chosen package directory" pathToPackageDirectory := '/YOUR-GIT-DIRECTORY-PATH/sendgrid-smalltalk/pharo-repository/'. Metacello new baseline: 'SendGrid'; repository: 'filetree://', pathToPackageDirectory; load. SendGrid Smalltalkͷ৔߹ https://github.com/newapplesho/sendgrid-smalltalk
  5. builder (newapplesho൛) • https://github.com/newapplesho/builder • builderಈ͔ͤΔΑ͏ʹ͢ΔΑ͏ʹมߋ • scriptsϑΝΠϧ͸ݫબͨ͠΋ͷ͚ͩΛcommit • ݱঢ়͸CentOS

    6༻ɺࠓޙ͸Ubuntu౳ʹ΋ରԠ༧ఆ • ηοτΞοϓΛ؆୯ʹͰ͖ΔγΣϧ΋४උத SmalltalkͷϦϙδτϦ໰୊ͷղܾΛ໨ࢦ͠·͢
  6. builderͷ࢖͍ํ • gitίϚϯυͰbuilderΛΫϩʔϯ • builderͷimage಺ʹ࠷৽ͷPharo imageΛ֨ೲ͢Δ • γΣϧ git clone

    git://github.com/newapplesho/builder.git build.sh -i [Πϝʔδ໊] -s [script໊] -o [ग़ྗΠϝʔδ໊]