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

How We Use Jenkins?

Naoto Takai
January 12, 2015

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 Slide

  2. View Slide

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

    View Slide

  4. 3VCZ3VCZPO3BJMT
    "NB[PO8FC4FSWJDFT

    View Slide

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

    View Slide

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

    View Slide

  7. ͓Ή͖Μ͢

    View Slide

  8. DJTMBWFEPDLFS
    DJTMBWFSVCZ OPEFT

    DJTMBWFBOESPJE
    DJTMBWFJPT
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS
    "84
    0OQSFNJTFT

    View Slide

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

    View Slide

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

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

    View Slide

  11. 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 Slide

  12. 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 Slide

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

    View Slide

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

    View Slide

  15. DJTMBWFEPDLFS
    DJTMBWFSVCZ OPEFT

    DJTMBWFBOESPJE
    DJTMBWFJPT
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS
    "84
    0OQSFNJTFT

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  22. w ϚϧνϓϩηεԽʢ[email protected]ʣ
    w ෼ࢄԽ
    w ୈ̍ੈ୅[email protected]
    w ୈ̎ੈ୅[email protected]
    w SSSTQFD

    View Slide

  23. View Slide

  24. View Slide

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

    View Slide

  26. View Slide

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

    View Slide

  28. 3334QFD$*'[email protected] SSSTQFDUBTLTFUCCGECGD

    [email protected]@TQFDSC EC
    "MJDF$PPQFS NPOUITBHP
    [email protected]@TQFDSC DDBD
    #PC.BSMFZ NPOUITBHP
    [email protected]@TQFDSC DBGC
    $IBSMJF1BSLFS NPOUITBHP
    [email protected]'"*-63&BGUFS෼Ҏ্ 0QFO

    +FOLJOT$IBOHFECZ!EBWF!FWF
    KFOLJOTIJQDIBUQVCMJTIFS
    SSSTQFD

    View Slide

  29. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  36. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  44. HJUIVC
    DJNBTUFS
    SSSTQFDNBTUFS SSSTQFDXPSLFS OPEFT

    HSPXUIGPSFDBTU
    NBNJZB BQQ OPEFT

    IJQDIBU
    BQQTUBHJOH

    View Slide

  45. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  49. View Slide

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

    View Slide

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

    View Slide