Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Android
- suspend
- errorhandling
- GIT
- 진짜학습지후기
- PR
- blog
- n3문법
- 인공지능
- CustomTab
- ai
- 일본어문법
- 안드로이드
- 일본어기초
- 코틀린
- pullrequest
- coroutine
- KotlinInAction
- posting
- 책리뷰
- jlpt
- 책추천
- 학습지
- Kotlin
- rxjava
- webflux
- 진짜학습지
- androidstudio
- github
- 진짜일본어
Archives
코딩하는 개굴이
CI / CD 본문
반응형
CI / CD
CI 란?
- Continuous Integration
- Build, Test 즉 통합을 실시하는 프로세스를 상시로 실행해 주는 것
CD 란?
- Continuous Delivery / Deploy
- 소프트웨어를 더 빠르게, 더 주기적으로 빌드하고 테스트하여 출시하는 것을 목표로 함
- 소프트웨어가 언제든지 신뢰 가능한 수준으로 출시되는 것을 보증하기 위함
- 변경사항의 배포에 대한 비용, 시간, 위험을 줄일 수 있음
자동화 배포의 장점
- 수동으로 개발자의 손을 이용한 배포는 휴먼에러 발생의 소지가 있으므로, 최대한 자동화를 이루는 것
시스템의 기본
- 버전 관리 시스템
- 브랜치 / 태그가 올라왔을 때, CI 환경에서 빌드 / 테스트를 수행
- CI 환경의 빌드가 완료 시 타겟 관리 시스템에서 빌드 / 테스트 결과를 알림
- CI 환경의 빌드가 완료 시 배포
- 브랜치 / 태그가 올라왔을 때, CI 환경에서 빌드 / 테스트를 수행
Git Action
- Github의 자체 ci/cd 기능으로, 깃허브 내에서 빌드 / 테스트를 쉽게 하고 결과를 진단 받을 수 있음
- Github 저장소에서 발생하는 build, test, package, relase, deploy 등의 이벤트를 기반으로 직접 원하는 workflow를 만들 수 있다
- workflow는 저장소마다 최대 20개 까지 등록할 수 있고, workflow 안의 job 이라는 단위마다 최대 6시간 동안 실행될 수 있으며, 초과 시 자동 중지된다.
- 무료 계정 시 한달 500mb, 실행시간 2000m 제공
사용 방법
- 저장소에 .github/workflows 폴더를 만들어 .yml 형식으로 workflow를 정의한다.
Workflow 핵심 구성
- 이벤트가 발생했을 때 실행될 수 있다
- 최소 1개 이상의 job을 정의해야 한다
- job 안에는 여러 step 이 정의될 수 있다
- step 안에는 단순 커멘드 실행부터 action까지 지정할 수 있다
- action은 직접 작성하거나 github 마켓 플레이스에 공유된 것을 사용할 수 있다
참고 링크
- https://woowabros.github.io/experience/2018/06/26/bros-cicd.html
- https://medium.com/@elastic7327/%EA%B9%83%ED%97%88%EB%B8%8C%EC%9D%98-%EC%95%A1%EC%85%98-%EA%B8%B0%EB%8A%A5-git-action-%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EC%9E%90-ed634d622280
- https://jonnung.dev/devops/2020/01/31/github_action_getting_started/
- https://riggaroo.dev/using-github-actions-to-automate-our-release-process/
- https://jehuipark.github.io/note/blog-publish-with-github-action
- https://github.com/JeHuiPark/JeHuiPark.github.io/pull/3/files
- https://zion830.tistory.com/63
반응형
'안드로이드' 카테고리의 다른 글
jadx-gui 맥에서 설치하기 (0) | 2021.02.21 |
---|---|
Context란? (0) | 2021.02.21 |
Retrofit 과 Volley 에 대하여 (0) | 2021.02.21 |
[안드로이드] 디자인 패턴 겉핥기 (MVC, MVP, MVVM) (0) | 2020.11.05 |
[안드로이드] Android LayoutInflater (0) | 2020.11.05 |
Comments