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

How We Use Jenkins?

How We Use Jenkins?

At Jenkins user conference 2015 Tokyo

Naoto Takai

January 12, 2015
Tweet

More Decks by Naoto Takai

Other Decks in Programming

Transcript

  1. ΫοΫύουʹ͓͚Δ+FOLJOTͷ׆༻

    View full-size slide

  2. ݄ؒར༻ऀ਺ͷ΂ ສਓҎ্
    Ϩγϐ਺ສ඼Ҏ্

    View full-size slide

  3. 3VCZ3VCZPO3BJMT
    "NB[PO8FC4FSWJDFT

    View full-size slide

  4. ݁࿦ɿ;ͭ͏ʹ͍ͯ͠Δ

    View full-size slide

  5. ΫοΫύουͰ͸
    +FOLJOTΛ࢖͍ͬͯ·ͤΜ
    ͓࿳ͼ

    View full-size slide

  6. DJTMBWFEPDLFS
    DJTMBWFSVCZ OPEFT

    DJTMBWFBOESPJE
    DJTMBWFJPT
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS
    "84
    0OQSFNJTFT

    View full-size slide

  7. ϚελɾεϨʔϒߏ੒
    w αʔόߏ੒؅ཧ͸1VQQFUʗ*UBNBF
    w ϓϥοτϑΥʔϜɾϛυϧ΢ΣΞ
    w Ϋϥ΢υͱΦϯϓϨϛε؀ڥ
    w ϥϕϧͰϊʔυΛ؅ཧ

    View full-size slide

  8. DJTMBWFSVCZ
    w "84্Ͱϊʔυ͕Քಈ
    w ໷ؒ͸ϊʔυʹॖୀӡస
    w SCFOWͰ3VCZόʔδϣϯ؅ཧ

    ϥϕϧͰϥΠϒϥϦΛղܾ

    View full-size slide

  9. STQFD
    describe SymbolStack do
    ...
    context 'when stack is empty' do
    subject(:empty_stack) { SymbolStack.new }
    describe '#size' do
    it { expect(empty_stack.size).to eq 0 }
    end

    View full-size slide

  10. DBQZCBSBXFCLJU
    feature 'User login' do
    scenario 'successful login' do
    visit login_path
    fill_in 'Login', with: '[email protected]'
    fill_in 'Password', with: 'password'
    click_link 'Submit'
    expect(current_path).to root_path
    end

    View full-size slide

  11. DJTMBWFEPDLFS
    w %PDLFS&OHJOF༻$*؀ڥ
    w ϏϧυɾςετɾϨδετϦొ࿥

    View full-size slide

  12. DJTMBWF\BOESPJE JPT^
    w ΦϑΟεͷαʔόϧʔϜʹઃஔ
    w "OESPJE͸࣮ػͰςετ
    w 9DPEFͷόʔδϣϯ؅ཧͰྀۤ

    View full-size slide

  13. DJTMBWFEPDLFS
    DJTMBWFSVCZ OPEFT

    DJTMBWFBOESPJE
    DJTMBWFJPT
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS
    "84
    0OQSFNJTFT

    View full-size slide

  14. ͳͥɺ$*Λ͍ͯ͠Δͷ͔ʁ

    View full-size slide

  15. ʮຖ೔ͷྉཧΛָ͠Έʹʯ

    View full-size slide

  16. ߏங͢Δ
    ܭଌ͢Δ
    ֶͿ
    ੡඼
    σʔλ
    ΞΠσΞ

    View full-size slide

  17. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ
    Ϧιʔε΍৘ใΛू໿Ͱ͖Δ
    ʹ$*ͰकΔ΂͖Ձ஋

    View full-size slide

  18. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ɾλʔϯΞϥ΢ϯυΛ୹͔͘͢Δ
    ɾ͙͢ʹࣦഊΛ఻͑Δ
    ɾෆ۩߹Λ์ஔͤ͞ͳ͍

    View full-size slide

  19. ։ൃऀ͸े෼ʹၗຫͳͷͰɺ
    ෼ͰΠϥΠϥ͠ɺ෼ͰΩϨΔɻ

    View full-size slide

  20. w ϚϧνϓϩηεԽʢQBSBMMFM@UFTUTʣ
    w ෼ࢄԽ
    w ୈ̍ੈ୅SFNPUF@TQFD
    w ୈ̎ੈ୅SFNPUF@TQFD
    w SSSTQFD

    View full-size slide

  21. εϙοτΠϯελϯεΛར༻
    ϓϩηεఀࢭ͔Βͷࣗಈ෮ؼ
    ࣦഊͨ͠ςετͷࣗಈ࠶࣮ߦ
    ςετ࣮ߦॱংͷ࠷దԽ
    ௕͔͔࣌ؒΔςετͷ౤ػత࣮ߦ
    Φʔϓϯιʔε

    View full-size slide

  22. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ɾλʔϯΞϥ΢ϯυΛ୹͔͘͢Δ
    ɾ͙͢ʹࣦഊΛ఻͑Δ
    ɾෆ۩߹Λ์ஔͤ͞ͳ͍

    View full-size slide

  23. 3334QFD$*'BJMFEFYBNQMFTPGDPPLQBE@SSSTQFD SSSTQFDUBTLTFUCCGECGD

    STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC EC
    "MJDF$PPQFS NPOUITBHP
    STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC DDBD
    #PC.BSMFZ NPOUITBHP
    STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC DBGC
    $IBSMJF1BSLFS NPOUITBHP
    +FOLJOTDPPLQBE@SSSTQFD'"*-63&BGUFS෼Ҏ্ 0QFO

    +FOLJOT$IBOHFECZ!EBWF!FWF
    KFOLJOTIJQDIBUQVCMJTIFS
    SSSTQFD

    View full-size slide

  24. KFOLJOTIJQDIBUQVCMJTIFS
    w )JQ$IBU1MVHJOͱͷҧ͍
    w +FOLJOTSC
    w ࣦഊ࣌ʹϝϯγϣϯ͢Δػೳ
    w ੒ޭϏϧυΛ௨஌͠ͳ͍ػೳ

    View full-size slide

  25. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ɾλʔϯΞϥ΢ϯυΛ୹͔͘͢Δ
    ɾ͙͢ʹࣦഊΛ఻͑Δ
    ɾෆ۩߹Λ์ஔͤ͞ͳ͍

    View full-size slide

  26. ։ൃऀจԽͱن཯
    ɾίʔυͷڞಉॴ༗ʢPXOFSTIJQʣ
    ɾِཅੑɺׂΕ૭ཧ࿦
    ɾܧଓతσϦόϦʔʢޙड़ʣ

    View full-size slide

  27. l$PMMFDUJWF0XOFSTIJQFODPVSBHFTFWFSZPOFUP
    DPOUSJCVUFOFXJEFBTUPBMMTFHNFOUTPGUIF
    QSPKFDU"OZEFWFMPQFSDBODIBOHFBOZMJOFPG
    DPEFUPBEEGVODUJPOBMJUZ pYCVHT JNQSPWF
    EFTJHOTPSSFGBDUPS/PPOFQFSTPOCFDPNFTB
    CPUUMFOFDLGPSDIBOHFTl
    IUUQXXXFYUSFNFQSPHSBNNJOHPSHSVMFTDPMMFDUJWFIUNM

    View full-size slide

  28. ِཅੑΛආ͚Δ
    ɾ࣌ؒʹґଘ͢Δ΋ͷ
    ɾ૊Έ߹Θͤʹґଘ͢Δ΋ͷ
    ɾੑೳʹґଘ͢Δ΋ͷ

    View full-size slide

  29. ِཅੑ͕͋Δͱʜʜ
    ɾΤϥʔΛؾʹ͠ͳ͘ͳͬͯ͠·͏
    ɾຊ෺ͷΤϥʔΛݟಀͯ͠͠·͏
    ˠϞϥϧ௿Լɺڟѱ൜ࡑͷଟൃ

    View full-size slide

  30. w ࠷ޙʹ੒ޭͨ͠ϏϧυΛ܁Γฦ͠
    ࣮ߦͯ͠ΈΔ
    w ཌ݄ॳʹγεςϜ࣌ؒΛઃఆͯ͠
    ࣮ߦͯ͠ΈΔ
    w ࣦഊͨ͠ςετΛ࠶࣮ߦͯ͠ΈΔ

    View full-size slide

  31. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ
    Ϧιʔε΍৘ใΛू໿Ͱ͖Δ
    ʹ$*ͰकΔ΂͖Ձ஋

    View full-size slide

  32. ʮͳͥ$*Λಋೖ͍ͯ͠ͳ͍ͷͰ͔͢ʁʯ
    ʮฐࣾͷΤϯδχΞ͸ҙ͕ࣝߴ͍ͨΊɺϩʔΧϧ
    ؀ڥͰςετΛ࣮ߦͤͣʹɺϦϙδτϦʹιʔε
    ίʔυΛίϛοτ͠·ͤΜʢΩϦοʯ

    View full-size slide

  33. ʮܧଓతσϦόϦʔ͸ιϑτ΢ΣΞ։ൃʹ͓͚Δ
    ن཯ͷͻͱͭͩɻʜʜܧଓతσϦόϦʔΛ࣮ݱ͢
    Δʹ͸ɺ։ൃνʔϜ͕ιϑτ΢ΣΞΛܧଓతʹ౷
    ߹͠ɺ࣮ߦϑΝΠϧΛϏϧυ͠ɺ͞ΒʹͦΕΛ
    ࣗಈతʹςετͯ͠໰୊Λݕग़͢Ε͹͍͍ɻʯ
    IUUQDBQTDUSMRVFKQLENTOSXJLJCMJLJ $POUJOVPVT%FMJWFSZ

    View full-size slide

  34. ੒Ռ෺ϦϙδτϦ
    όʔδϣϯίϯτϩʔϧ
    ιʔείʔυ ઃఆ
    ίϛοτεςʔδ ड͚ೖΕεςʔδ
    ड͚ೖΕςετ
    ؀ڥઃఆɺσϓϩΠɺ
    εϞʔΫςετ
    ੑೳςετ
    ؀ڥઃఆɺσϓϩΠɺ
    εϞʔΫςετ
    ຊ൪؀ڥ
    ؀ڥઃఆɺσϓϩΠɺ
    εϞʔΫςετ
    ίϯύΠϧ
    ίϛοτςετ
    ੒Ռ෺࡞੒
    ίʔυղੳ
    ؀ڥઃఆ
    σϓϩΠ
    εϞʔΫςετ
    ड͚ೖΕςετ
    ઃఆ
    +F[)VNCMFɺ%BWJE'BSMFZʰܧଓతσϦόϦʔʱ

    View full-size slide

  35. ʮτϤλੜ࢈ํࣜͰ࢖ΘΕΔʰࣗಈԽʱ͸ɺχϯ
    ϕϯͷ෇͘ʰࣗಇԽʱͰ͢ɻʜʜʰࣗಇʱͱ͸ɺ
    ػցʹળ͠ѱ͠Λ൑அͤ͞Δ૷ஔΛϏϧτΠϯ͠
    ͨػցͰ͋Γɺʜʜʰҟৗ͕͋Ε͹ػց͕ࢭ·Δʱ
    ͜ͱͰɺෆྑ඼͸ੜ࢈͞ΕͣɺͻͱΓͰԿ୆΋ͷ
    ػցΛӡసͰ͖ΔͷͰɺੜ࢈ੑΛඈ༂తʹ޲্͞
    ͤΔ͜ͱ͕Ͱ͖·ͨ͠ɻʯ
    IUUQXXXUPZPUBDPKQKQODPNQBOZWJTJPOQSPEVDUJPO@TZTUFNKJEPLBIUNM

    View full-size slide

  36. $*ͰͷࣗಈԽ
    ɾςετͷࣗಈԽ
    ɾΞηοτͷੜ੒ͱ؅ཧͷࣗಈԽ
    ɾσϓϩΠͷࣗಈԽ
    ɾ௨஌ɾه࿥ͷࣗಈԽ

    View full-size slide

  37. HJUIVC
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS OPEFT

    HSPXUIGPSFDBTU
    NBNJZB BQQ OPEFT

    IJQDIBU
    BQQTUBHJOH

    View full-size slide

  38. ҙਤ͠ͳ͍มߋΛ༧๷Ͱ͖Δ
    ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ
    Ϧιʔε΍৘ใΛू໿Ͱ͖Δ
    ʹ$*ͰकΔ΂͖Ձ஋

    View full-size slide

  39. Ϧιʔε΍৘ใΛू໿Ͱ͖Δ
    ɾΞηοτͷੜ੒ͱ؅ཧ
    ɾ੩తղੳʢΧόϨοδɾηΩϡϦςΟʣ
    ɾه࿥ͱՄࢹԽ

    View full-size slide

  40. DJNBTUFS
    SSSTQFDNBTUFS
    NBNJZB
    BQQTUBHJOH
    ΞηοτͷίϯύΠϧʢඞཁ࣌ʣ
    HJUIVC
    SSSTQFDͷ࣮ߦ
    มߋͷऔಘ
    Ξηοτอଘ
    Ξηοτ഑৴

    View full-size slide

  41. $*ͷՁ஋ΛकΔߦಈ
    ɾҙਤ͠ͳ͍มߋΛ༧๷͢Δ
    ɾ࠶ݱՄೳͳΑ͏ʹࣗಈԽ͢Δ
    ɾϦιʔε΍৘ใΛू໿͢Δ

    View full-size slide

  42. ;ͭ͏ʹ͍ͯ͠Δ
    ʹ΍Δ΂͖͜ͱΛ΍Δ
    ʹৗʹͦ͏͋ΔΑ͏ʹ͢Δ

    View full-size slide