Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オンプレミスJenkinsをやっと葬り去った話 / jenkins_kill
Search
Jun Watanabe
April 21, 2016
Programming
5.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オンプレミスJenkinsをやっと葬り去った話 / jenkins_kill
PHP BLT #4
http://phpblt.connpass.com/event/27655/
Jun Watanabe
April 21, 2016
More Decks by Jun Watanabe
See All by Jun Watanabe
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
2.9k
20分1発勝負! 社内Webツールをライブコーディングするぞ! / Live Coding PHPerKaigi 2025
rela1470
0
38
力技で実現するHR Driven Provisioningとアクセス制御の自動化 / kyash-hr-driven-provisioning
rela1470
0
1.5k
10分(25分)でつくる社内Webツール / howto-oidc-webpage
rela1470
0
190
リーグオブ情シス 第二回 / League of Infosys
rela1470
1
1.5k
Kyashでコーポレートエンジニアを初採用して7ヶ月が経ちましたがお元気ですか / ce-night-kyash
rela1470
4
3.4k
じこしょうかい2019 / rela1470-portfolio-2019
rela1470
0
420
255オクテットのドメインはツラみがある! / endless-work
rela1470
1
5.6k
ヤフーの1on1
rela1470
0
570
Other Decks in Programming
See All in Programming
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
35k
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
160
Hono + Inertia + React で LP を構築した話
oukayuka
2
210
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
160
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
不幸な GC
chencmd
0
880
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
470
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
620
FDEとは、何者なのか?
masapyon1212
0
140
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
3
1k
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Amusing Abliteration
ianozsvald
1
290
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Statistics for Hackers
jakevdp
799
230k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
190
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Accessibility Awareness
sabderemane
1
200
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Transcript
ΦϯϓϨϛεJenkins ΛͬͱΓڈͬͨ 2016/04/21 PHPBLT#4 Jun Watanabe
Jun Watanabe @rela1470 • ͪͺʔ6 • ORATTA, Inc Chief Engineer
• http://rela.red/
݁
JenkinsΛcircleciʹ͠·ͨ͠!
͛͢ʔΑ͘ฉ͘
৭ʑͭ·͍ͮͨΓ ؤுͬͨͷͰ ۪ஒΒ͍ͤͯͩ͘͞
෩࿊෦(੍ࣾ) िʹ3࣌ؒձٞࣨʹͬͯ ͻͨ͢Βۀվળɾٕज़ௐࠪ ORATTA Frontier TechͷଏশΒ͍͠
ࠓ2݄͔Β CIվળΛ ͬͯ·ͨ͠
͍··Ͱͷվળ
͓ͬ͞Μͷإ͕ݏ
ঁମԽͰ ղܾ ࣗࣾͷσβΠφʔ͞Μʹॻ͍ͯΒ͍·ͨ͠ʘ(^o^)ʗ
σβΠϯ͕ ݹष͍
http://aarjithn.github.io/jenkins-neo-theme/
ͦΕͰཷ·Δ Jenkinsͷ
ҡ࣋͢ΔͨΊͷ ίετ͕ߴ͍
खಈͰͷόʔδϣϯΞοϓ
ϓϥάΠϯ45ݸ
PHPPEARͷ ϓϩμΫτࠩ
circleciಋೖͰ Ͳ͏ͬͯղܾ͔ͨ͠
PEAR
Composerಋೖ
άάΔͱग़ͯ͘Δͭ { "require": { "pear-pear.php.net/PEAR" : "*", "pear-pear.php.net/log" : "*",
"pear-pear.php.net/http_request2" : "*" }, "repositories": [ { "type": "pear", "url": "http://pear.php.net" } ] }
2016/03/03
2016/03/10
ಈ͔ͳ͘ ͳͬͯͨ…
2016/3/4 ϦϦʔε composer 1.0.0-beta1 ༷มߋ http௨৴NG͕ σϑΥϧτઃఆʹ
Composerා͍
࣌ղܾࡦ͕ Θ͔Βͳ͔ͬͨ
͖ͬ͞QiitaͰݟ͚ͭ·ͨ͠ http://qiita.com/shinkuFencer/items/00c6cdbc0d0e0e081e38
httpΛڐͯ͠Β͏ { "config": { "secure-http": false }, "require": { "pear-pear.php.net/PEAR"
: "*", "pear-pear.php.net/log" : "*", "pear-pear.php.net/http_request2" : "*" }, "repositories": [ { "type": "pear", "url": "http://pear.php.net" } ] }
ࠓճͲ͏͔ͨ͠
Packagist
Packagistʹ͋ΔͭΛ͏ { "require": { "pear/pear": "dev-master", "pear/log": "*@stable", "pear/http_request2": "v2.3.0"
}, "require-dev": { "phpunit/phpunit": "4.8.23", } }
Θ͟Θ͟ΦϓγϣϯͰηΩϡ ϦςΟऑΊͳͯ͘ྑ͍ ΠϚυΩͬΆ͍
PackagistͰ ࣮ͯ͠ ྑ͔ͬͨ
ྑ͔ͬͨ…
PHPͷόʔδϣϯ
7.0.4 / 7.0.0RC7 / 5.6.14 / 5.6.5 / 5.6.2 /
5.5.21 / 5.5.16 / 5.5.15 / 5.5.11 / 5.5.9 / 5.5.8 / 5.5.7 / 5.5.3 / 5.5.2 / 5.5.0 / 5.4.37 / 5.4.21 / 5.4.19 / 5.4.18 / 5.4.15 / 5.4.14 / 5.4.13 / 5.4.12 / 5.4.11 / 5.4.10 / 5.4.9 / 5.4.8 / 5.4.7 / 5.4.6 / 5.4.5 / 5.4.4 / 5.3.25 / 5.3.20 / 5.3.10 / 5.3.3
circle.ymlͰόʔδϣϯࢦఆ machine: php: version: 5.5.21
gitͷஔ
1ϓϩδΣΫτ 5ͭ͘Β͍ͷgitʹ ͔Ε͍ͯΔ
ϓϩδΣΫτͷgitஔྫ multi [multi.git] //ࣗࣾϑϨʔϜϫʔΫ !system ɹ"addon ɹ#ɹ!asuka [asuka.git] //ϓϩδΣΫτຖͷಠ࣮ࣗιʔε ɹ#ɹɹ"master
[asuka-master.git]ɹ//ΞΠςϜͷϚελʔઃఆ ɹ#ɹɹ!web [asuka-web.git]ɹ//ը૾Ի ɹ!lib[lib.git] //ࣗࣾϥΠϒϥϦ
αϒϞδϡʔϧԽ ͨ͠
αϒϞδϡʔϧԽ ͔ͨͬͨ͠
ཧͰԥͬͨ (circle.yml)
git cloneͯ͠ ࣗͰஔ͠ͳ͓͢ checkout: post: - "mkdir -p /tmp/yaml" -
"git clone -b ${CIRCLE_BRANCH}
[email protected]
:oratta-inc/multi.git / home/ubuntu/multi" - "git clone -b ${CIRCLE_BRANCH}
[email protected]
:oratta-inc/lib.git /home/ ubuntu/multi/system/lib" - "mkdir /home/ubuntu/multi/system/addon" test: pre: - "cp -a /home/ubuntu/${CIRCLE_PROJECT_REPONAME}/ /home/ubuntu/multi/ system/addon/${CIRCLE_PROJECT_REPONAME}” - "git clone -b ${CIRCLE_BRANCH}
[email protected]
:oratta-inc/asuka- master.git /home/ubuntu/multi/system/addon/asuka/master” override: - "phpunit -c /home/ubuntu/multi/system/addon/${CIRCLE_PROJECT_REPONAME}/ phpunit.xml -d memory_limit=512M"
ຖճ1͔Β git clone
None
13ඵ͘Β͍
GitHubҙ֎ͱૣ͍
ΩϟογϡʹೖΕͯ ϦετΞΛࢼͨ͠Β ٯʹ͘ͳͬͨ
ϏϧυνΣΠϯ
ϓϩδΣΫτͷgitஔྫ multi [multi.git] //ࣗࣾϑϨʔϜϫʔΫ !system ɹ"addon ɹ#ɹ!asuka [asuka.git] //ϓϩδΣΫτຖͷಠ࣮ࣗιʔε ɹ#ɹɹ"master
[asuka-master.git]ɹ//ΞΠςϜͷϚελʔઃఆ ɹ#ɹɹ!web [asuka-web.git]ɹ//ը૾Ի ɹ!lib[lib.git] //ࣗࣾϥΠϒϥϦ
্ҐͷGit͕ߋ৽͞Εͨ߹ શϓϩδΣΫτͷςετΛ Β͍ͤͨ
ཧͰԥͬͨ (circle.yml)
ςετʹޭͨ͠Β ؔ࿈͢ΔϓϩδΣΫτΛAPIܦ༝Ͱ࣮ߦ deployment: develop: branch: develop commands: - curl -X
POST https://circleci.com/api/v1/project/oratta-inc/rave/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/chloris/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/dark/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/bleach/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/asuka/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/sengoku/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN - curl -X POST https://circleci.com/api/v1/project/oratta-inc/aqua/ tree/develop?circle-token=$CHAIN_PROJECT_TOKEN
None
ແྉϓϥϯͩͱ 1ίϯςφͷΈ
͍
ۚͰԥΔ?
Slack࿈ܞ
PHPͰಠ࣮ࣗ
σϑΥϧτͰ࿈ܞػೳ͋Γ
෭࢈
composerಋೖͰ ϩʔΧϧڥ͕౷Ұग़དྷͨ
PhpStormͰΧόϨοδͱ͔
·ͱΊ
ϨΨγʔγεςϜͰ ཧ(circle.yml)Ͱ ͳΜͱ͔ͳΔ
Composerා͍