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
1.1k
20分1発勝負! 社内Webツールをライブコーディングするぞ! / Live Coding PHPerKaigi 2025
rela1470
0
37
力技で実現するHR Driven Provisioningとアクセス制御の自動化 / kyash-hr-driven-provisioning
rela1470
0
1.5k
10分(25分)でつくる社内Webツール / howto-oidc-webpage
rela1470
0
180
リーグオブ情シス 第二回 / League of Infosys
rela1470
1
1.5k
Kyashでコーポレートエンジニアを初採用して7ヶ月が経ちましたがお元気ですか / ce-night-kyash
rela1470
4
3.3k
じこしょうかい2019 / rela1470-portfolio-2019
rela1470
0
410
255オクテットのドメインはツラみがある! / endless-work
rela1470
1
5.5k
ヤフーの1on1
rela1470
0
560
Other Decks in Programming
See All in Programming
Foundation Models frameworkで画像分析
ryodeveloper
1
590
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
460
FDEが実現するAI駆動経営の現在地
gonta
2
270
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
250
数百円から始めるRuby電子工作
tarosay
0
140
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4k
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
590
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
240
Cloudflare is Agents
chimame
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
540
5分で問診!Composer セキュリティ健康診断
codmoninc
0
890
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Everyday Curiosity
cassininazir
0
270
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
Product Roadmaps are Hard
iamctodd
55
12k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Technical Leadership for Architectural Decision Making
baasie
3
470
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
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ා͍