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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
さたけ
December 21, 2019
Programming
0
72
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
28
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
gunshi
kazupon
1
140
CSC307 Lecture 03
javiergs
PRO
1
480
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
350
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
530
Basic Architectures
denyspoltorak
0
630
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
620
CSC307 Lecture 02
javiergs
PRO
1
770
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
750
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
170
CSC307 Lecture 01
javiergs
PRO
0
680
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.7k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
51
The World Runs on Bad Software
bkeepers
PRO
72
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
150
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Google's AI Overviews - The New Search
badams
0
900
Thoughts on Productivity
jonyablonski
74
5k
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Λҙࣝͤͣʹߋ৽(ίϛοτ)͍ͤͨ͞