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
73
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
200
Cloud Foundry を使ってみた / #aosc 2018-02-23
satackey
0
29
Other Decks in Programming
See All in Programming
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
410
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
520
株式会社 Sun terras カンパニーデック
sunterras
0
2k
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
370
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
230
TipKitTips
ktcryomm
0
160
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
2
350
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
550
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
130
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Bash Introduction
62gerente
615
210k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
A better future with KSS
kneath
240
18k
Color Theory Basics | Prateek | Gurzu
gurzu
0
240
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Fireside Chat
paigeccino
42
3.8k
Abbi's Birthday
coloredviolet
2
5.3k
Test your architecture with Archunit
thirion
1
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
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Λҙࣝͤͣʹߋ৽(ίϛοτ)͍ͤͨ͞