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
circleci小ネタ集 / circleci_tips
Search
Jun Watanabe
May 26, 2016
Programming
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
circleci小ネタ集 / circleci_tips
コード改善 meetup #1
http://kaizen.connpass.com/event/31378/
Jun Watanabe
May 26, 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
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
370
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
470
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
440
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
470
スマート反転とウェブアクセシビリティ
camiha
0
210
SREの越境 / SRE Collaboration
y0hgi
2
280
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
新卒PdEのリアル
ryu1013
1
510
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5k
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
510
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Everyday Curiosity
cassininazir
0
320
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Crafting Experiences
bethany
1
350
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
BBQ
matthewcrist
89
10k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Transcript
circleciখωλू 2016/05/26 ίʔυվળ meetup #1 Jun Watanabe
Jun Watanabe @rela1470 • ͪͺʔ6 • ORATTA, Inc Chief Engineer
• http://rela.red/ ʘWe are hiring!ʗ
ίʔυվળͱ͍͑ CIπʔϧ͔ͳ
ઌ݄ɺ ΦϯϓϨJenkins͔Β circleciʹશҠߦ͠·ͨ͠!
https://speakerdeck.com/ rela1470/jenkins-kill
Βͳ͔ͬͨ͜ͱ + ͦͷޙࠔͬͨ͜ͱ ͬͨ͜ͱ
PHP 5.5 PHPUnit GitHub circleci FREE Plan
෩࿊෦(੍ࣾ) िʹ3࣌ؒձٞࣨʹͬͯ ͻͨ͢Βۀվળɾٕज़ௐࠪ ORATTA Frontier TechͷଏশΒ͍͠
ෳGitͷClone
1ϓϩδΣΫτ 5ͭ͘Β͍ͷgitʹ ͔Ε͍ͯΔ
ϓϩδΣΫτͷgitஔྫ multi [multi.git] //ࣗࣾϑϨʔϜϫʔΫ !system ɹ"addon ɹ#ɹ!asuka [asuka.git] //ϓϩδΣΫτຖͷಠ࣮ࣗιʔε ɹ#ɹɹ"master
[asuka-master.git]ɹ//ΞΠςϜͷϚελʔઃఆ ɹ#ɹɹ!web [asuka-web.git]ɹ//ը૾Ի ɹ!lib[lib.git] //ࣗࣾϥΠϒϥϦ
Jenkins Multiple SCMs Plugin
circleciͰͲ͏͢Δ͔
circle.ymlͰؤுΔ
git cloneͯ͠ ࣗͰஔ͠ͳ͓͢ checkout: post: - "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"
ݖݶͲ͏ͳͬͯΔͷ?
Deploy keysΛ͏ͱ ֘1ϦϙδτϦͷΈ
user keyʹࠩ͠ସ͑ͯ Ϣʔβʹඥ͍ͨݖݶΛऔಘ
user keyʹࠩ͠ସ͑ͯ Ϣʔβʹඥ͍ͨݖݶΛऔಘ
αϒϞδϡʔϧԽ Ζ͏ͱͯ͠·͢ @ࠓத͘Β͍...
Ϗϧυͷखಈ࣮ߦ
εέδϡʔϧϏϧυ खಈϏϧυ Ͱ͖ͳ͘ͳΔͷ?
͔ͨ͠ʹWebUIͳ͍
RestAPI͕͋Δ!
՝ۚػೳҎ֎શ෦Ͱ͖ΔΑ!
branchΛࢦఆͯ͠ ৽ϏϧυΛߦ͏API curl -X POST https://circleci.com/api/v1/project/:username/:project/ tree/:branch?circle-token=:token
εέδϡʔϧϏϧυ cronͰୟ͘ खಈϏϧυ खͰୟ͘
ΧόϨοδूܭ
ΧόϨοδूܭ͍ͨ͠ දͰݟ͍ͨ
XdebugΛONʹ sed -i 's/^;//' ~/.phpenv/versions/$(phpenv global)/etc/conf.d/ xdebug.ini
--coverage-html Ͱ $CIRCLE_ARTIFACTS ʹग़ྗͨ͠ΒOK
ͻͱ͕ͭ...
None
None
Ϗϧυʹ20
pushͷʹ20ͪ ͕͢͞ʹࠔΔ...
ۚͰԥΔͷ࠷ޙͷखஈ
Ϗϧυ࣌ؒͷॖ
ผʹPush࣌ ຖճΒͳͯ͘ ि1͘Β͍Ͱྑ͍
ҾͰ໌ࣔతʹ ͚ͨ࣌ͩ͠ ΧόϨοδूܭ
͜ΜͳγΣϧεϓϦΫτ ࡞Γ·ͨ͠ test: override: - sh test.sh if [[ -v
RUN_COVERAGE ]] then sed -i 's/^;//' ~/.phpenv/versions/$(phpenv global)/etc/conf.d/ xdebug.ini phpunit -c phpunit.xml --coverage-html=${CIRCLE_ARTIFACTS} else phpunit -c phpunit.xml fi circle.yml test.sh
XdebugΛONʹ͢Δͱ PHPUnit͕ॏ͘ͳΔ
औಘ͢Δ͚࣌ͩ XdebugΛONʹ͢Δ
REST APIͰbuild_parameters Λ༩ͯ͠Ϗϧυ curl -X POST --header "Content-Type: application/json" -d
'{"build_parameters": {"RUN_COVERAGE": "true"}}' https:// circleci.com/api/v1/project/username/reponame/tree/branch?circle- token=hogehoge
݄༵ͷேʹ cronͰճͯ͠·͢
γεςϜ؆ུԽ
͜ΜͳγΣϧεϓϦΫτ ࡞Γ·ͨ͠ test: override: - sh test.sh if [[ -v
RUN_COVERAGE ]] then sed -i 's/^;//' ~/.phpenv/versions/$(phpenv global)/etc/conf.d/ xdebug.ini phpunit -c phpunit.xml --coverage-html=${CIRCLE_ARTIFACTS} else phpunit -c phpunit.xml fi circle.yml test.sh
࣮circle.yml͚ͩͰग़དྷΔ test: override: - | if [[ -v RUN_COVERAGE ]]
then sed -i 's/^;//' ~/.phpenv/versions/$(phpenv global)/etc/ conf.d/xdebug.ini phpunit -c /home/ubuntu/multi/system/addon/$ {CIRCLE_PROJECT_REPONAME}/phpunit.xml -d memory_limit=1024M -- coverage-html=${CIRCLE_ARTIFACTS} else phpunit -c /home/ubuntu/multi/system/addon/$ {CIRCLE_PROJECT_REPONAME}/phpunit.xml -d memory_limit=1024M
yamlͷϒϩοΫελΠϧ վߦΛอଘ | |+ |- վߦΛ֯εϖʔεʹ > >+ >- Πϯσϯτࢦఆ
|1 >1
circle.yml ͚ͩͰग़དྷΔ
1ϑΝΠϧͰ ग़དྷΔͳΒ ͤ
σάϨΔ͜ͱͳ͘ શҠߦग़དྷ·ͨ͠(^o^)
http://connpass.com/event/32338/
ʘWe are hiring!ʗ http://www.oratta.net/