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
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
1.1k
20分1発勝負! 社内Webツールをライブコーディングするぞ! / Live Coding PHPerKaigi 2025
rela1470
0
34
力技で実現する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
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
140
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
Vite+ Unified Toolchain for the Web
naokihaba
0
320
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
260
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
Lessons from Spec-Driven Development
simas
PRO
0
210
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
How to make the Groovebox
asonas
2
2.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Documentation Writing (for coders)
carmenintech
77
5.4k
Chasing Engaging Ingredients in Design
codingconduct
0
220
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
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ා͍