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
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
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
350
contenteditable と日本語入力に向き合う
colorful12
0
140
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
630
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
530
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
Heart of Swift Concurrency
koher
0
1.2k
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
FreeBSDでZabbixを動かす
kenkino
0
360
mrbgem 三角測量 開発
ogom
0
200
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
370
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
My Coaching Mixtape
mlcsv
0
340
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Claude Code のすすめ
schroneko
67
230k
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ා͍