Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
オンプレミスJenkinsをやっと葬り去った話 / jenkins_kill
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
3k
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
GraphQL の onError と Nullability のこれから
quramy
0
190
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.8k
オーケストレーション記述言語 Katari
yukikurage
0
200
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
APNsからLive Activityを開始する話
yumnumm
0
180
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
280
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
最近”作らせてる” ローカルAIアプリの話
akit37
0
500
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
260
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
120
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Code Review Best Practice
trishagee
74
20k
Odyssey Design
rkendrick25
PRO
2
890
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Un-Boring Meetings
codingconduct
0
470
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Designing Experiences People Love
moore
143
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
450
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
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ා͍