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
GitHubとCircleCIで過去問管理 / #aosc 2019-12-21
Search
さたけ
December 21, 2019
Programming
0
67
GitHubとCircleCIで過去問管理 / #aosc 2019-12-21
https://github.com/satackey/kakomon-manager-legacy
さたけ
December 21, 2019
Tweet
Share
More Decks by さたけ
See All by さたけ
Packer で自分だけの Raspberry Pi イメージを 作った話 / #techstudygroupjp 2020.5.14
satackey
0
420
Dockerを使ってみよう / #kosenconf131hokkaido
satackey
0
190
Cloud Foundry を使ってみた / #aosc 2018-02-23
satackey
0
24
Other Decks in Programming
See All in Programming
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
710
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.4k
Six and a half ridiculous things to do with Quarkus
hollycummins
0
210
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
360
AkarengaLT vol.38
hashimoto_kei
1
120
AI Agent 時代的開發者生存指南
eddie
4
2.1k
Catch Up: Go Style Guide Update
andpad
0
250
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
マンガアプリViewerの大画面対応を考える
kk__777
0
160
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
190
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Typedesign – Prime Four
hannesfritz
42
2.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Invisible Side of Design
smashingmag
302
51k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
CI/CDೖ GitHubͱCircleCIͰաڈཧ ͚ͨ͞ @satakenkoki
ࣗݾհ • খߴઐ 2 ใܥ • ࠷ֶۙߍͰ αʔόߏங͍ͯ͠·͢ • @satakenkoki
͔ͬ͜Α͋͘Γ·ͤΜʁʁ
None
RTA࡞Ͱ͢
CI/CDͱ
ΞϓϦέʔγϣϯ։ൃͷεςʔδʹ ࣗಈԽΛऔΓೖΕͯɺ ސ٬ʹΞϓϦέʔγϣϯΛఏڙ͢Δ සΛߴΊΔख๏Ͱ͢ɻ CI/CD ͱ - Red Hat
Α͘Θ͔Μͳ͍Ͱ͢Ͷ
ίʔυॻ͘ ↓ git commit ↓ git push
ίʔυॻ͘ ↓ git commit ↓ git push ↓ Կ͔Δ(ࣗಈ)
աڈཧͷ͓
ԿΛ࡞ͬͨͷ͔ • ը૾ϑΝΠϧΛஔ͘ • ը૾ϑΝΠϧͷύεͱɺ ͦͷϑΝΠϧͷใ (2017ɾྺ࢙ɾޙظதؒɾ1ϖʔδ)Λॻ͘
• $ python assort.py ԿΛ࡞ͬͨͷ͔
※खಈͰ͢
※खಈͰ͢ ೖΕସ͑ޙͷ Google DriveͷΞοϓϩʔυ
None
ςετظؒ ↓ ↑
ٽ
None
·ͣϑΝΠϧҠಈ - run: name: Assort files command: | python codes/assort.py
assort
มߋ͕͋ͬͨ࣌ˠcommit & push - run: name: Push assorted files to
repo if chenges command: | if [ -n "$(git status --porcelain)" ]; then git add -A . git commit -m "[auto] assort $(git show -s --format=%s)" git push origin $(git rev-parse --abbrev-ref HEAD) ɹɹfi
ࣗಈԽʂʂʂ
ࣗಈԽʂʂʂ ↓ CI͕͏·͘ಈ͍ͨҹ
↓ CI͕͏·͘ಈ͍ͨҹ → ࣦഊ͢Δͱ͜͏ͳΔ
Τϥʔ͕ग़ͨ࣌ ίϛοτͤ͠OK
࣮ߦ݁Ռݟ͑·͢
Slack௨Ͱ͖·͢ ࣦഊ͚ͨ࣌ͩ͠ͱ͔
Ұ୴ɺ·ͱΊ • CI/CDΛ͏ͱɺgit pushΛτϦΨʔͱͯ͠ ίϚϯυʹ࣮ߦͰ͖Δ • CircleCIͰɺσϑΥϧτͷ࣮ߦڥ͕ Dockerίϯςφ ɹɹ→
͕ࣗ࡞ͬͨڥͦͷ··
ྫ • Heroku • SSHΩʔΛCIʹՃ͓ͯ͘͠ • masterʹpush͞ΕͨΒ $ git push
heroku master
• Firebase • firebase ίϚϯυ͕͑Δ DockerΠϝʔδΛ༻ҙ • τʔΫϯΛڥมʹઃఆ • firebase
deploy ྫ
ຊདྷͷCI/CD • Ұൠతʹɺ ςετࣗಈԽΛओͱͯ͠ ΘΕ͍ͯΔΑ͏Ͱ͢ • ςετԿͦΕ͓͍͍͠ͷ
DriveΞοϓϩʔυͷࣗಈԽ • skickaͱ͍͏CLIπʔϧΛݟ͚ͭ·ͨ͠ɻ
• τʔΫϯΛڥมʹઃఆ͢Δ • skicka upload ………… DriveΞοϓϩʔυͷࣗಈԽ
Generate pdf and deploy: jobs: - generate: filters: branches: only:
master masterϒϥϯν͚ͩͰ
- run: name: Upload to Google Drive command: | ……
skicka upload ./ /աڈཧ/աڈ(ෳŋ࠶ېࢭ)
Ϋϥυܕ • CircleCI ɹɹ2000/݄ • Travis CI ɹɹOSSແྉ • GitHub
Actions OSSແྉ 20ฒྻͰ͖Δ • GitLab CI
ΦϯϓϨ • Jenkins • Drone DockerίϯςφڥΛར༻Ͱ͖Δ
աڈཧͷʹΓ·͢
աڈ͕ߋ৽͞ΕΔϑϩʔ • ϒϥϯνΔ • ϑΝΠϧՃ • Pull Request Λ։͘ •
Mergeʹςετ௨ա • Approve͕ඞਢ
͜Ε͔Βͷ՝ • Τϥʔ͕ग़ͨ࣌ͷେ͕ରॲ͍ͯ͠Δ • গͳ͘ͱGitΛཧղ͠ͳ͍ͱ աڈΛߋ৽Ͱ͖ͳ͍ • Web UI࡞ͬͯɺ GitΛҙࣝͤͣʹߋ৽(ίϛοτ)͍ͤͨ͞