Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Algorithm
- JPA
- swapmemory
- github
- @async
- programmers
- AWS
- 백준
- EC2
- 프로그래머스
- GCS
- R2DBC
- 파일업로드
- 비동기
- webflux
- 백업스크립트
- GoogleCloudStorage
- actions
- Infra
- mono
- 백업
- SUbmodule
- CompletableFuture
- mysql
- gitActions
- TaskExecutor
- 알고리즘
- 스왑메모리
- ci/cd
- Java
Archives
- Today
- Total
쿵야지식떨이
GitHub Actions 적용 (1) - GitHub Actions란? 본문
반응형
팀 프로젝트를 진행 중 server 파트는 GitHub Actions를 적용하기로 했다. 적용하는 과정과 겪었던 에러를 정리하고 여러 포스트로 나눠서 정리해보려 한다.
틀린 내용이 있을 수 있으니 잘못된 내용이 있다면 댓글 부탁드립니다.
GitHub Actions
- GitHub에서 제공하는 CI/CD를 위한 서비스
- GitHub 레포지토리에서 CI/CD 결과를 확인하고 관리할 수 있다.
- YAML 포맷을 사용하여 가독성이 높다.
- 이미 구현되어있는 많은 액션들을 마켓플레이스에서 쉽게 찾을 수 있어 좀 더 간단하게 CI/CD 플로우를 작성할 수 있다.
더보기
CI(Continuous Integration) : 테스트, 빌드, Dockerizing, 저장소에 전달하는 것까지 프로덕션 환경으로 서비스를 배포할 수 있도록 준비하는 프로세스(지속적 통합)
CD(Continuous Delivery) : 저장소로 전달된 프로덕션 서비스를 실제 사용자들에게 배포하는 프로세스(지속적 전달)
▪ 작업한 소스 코드를 빌드하고, 저장소에 전달 후 배포까지 하는 과정이다.
▪ 간단히 정리하면 개발의 work flow를 자동화 할 수 있게 도와주는 툴!
▪ 자동으로 어떤 이벤트가 발생했을 때 특정 작업이 일어나게 하거나 주기적으로 어떤 작업들을 반복해서 실행 시킬 수 있다.
CD(Continuous Delivery) : 저장소로 전달된 프로덕션 서비스를 실제 사용자들에게 배포하는 프로세스(지속적 전달)
▪ 작업한 소스 코드를 빌드하고, 저장소에 전달 후 배포까지 하는 과정이다.
▪ 간단히 정리하면 개발의 work flow를 자동화 할 수 있게 도와주는 툴!
▪ 자동으로 어떤 이벤트가 발생했을 때 특정 작업이 일어나게 하거나 주기적으로 어떤 작업들을 반복해서 실행 시킬 수 있다.
GitHub Actions의 구성 요소
Workflow
- 최상위 개념
- 하나 이상의 Job으로 구성되고, Event에 의해 예약되거나 트리거 될 수 있는 자동화된 절차
- Workflow는 YAML 파일에 의해 정의되고, Github Repository의 .github/workflows 폴더 아래에 저장된다.
- on 속성을 통해 해당 workflow가 언제 실행될지 정의한다.
- GitHub에게 YAML 파일로 정의한 자동화 동작을 전달하면, GitHub Actions는 해당 파일을 기반으로 그대로 실행시킨다.
Event
- Workflow 실행을 트리거하는 저장소의 특정 활동
- ex) 누군가가 커밋을 repo에 push하거나 pull 요청이 생성 될 때 GitHub에서 활동이 시작될 수 있다.
Job
- 독립된 환경에서 돌아가는 하나의 처리 단위
- Job은 여러 Step으로 구성되고, 단일 가상 환경에서 실행된다.
- 하나의 workflow에는 여러 개의 Job을 정의할 수 있다.
- 각각의 Job은 다른 Job들과는 별개의 독립적인 환경에서 실행된다.
- jobs 속성을 통해 workflow가 실행되면 수행할 Job을 정의하며 runs-on과 steps는 필수로 정의해야 한다.
- runs-on : job을 실행할 환경을 정의
Step
- Job 안에서 순차적으로 실행되는 프로세스 단위
- 각 step들은 script, 명령어 또는 action을 실행할 수 있다.
Action
- workflow의 가장 작은 빌드 단위
- Job을 구성하기 위한 step들의 조합으로 구성된 독립적인 명령이다.
- action을 구성하기 위해서 레포지토리와 상호 작용하는 커스텀 코드를 만들 수도 있다.
- 사용자가 직접 커스터마이징 하거나 마켓 플레이스에 있는 action을 가져다 사용할 수도 있다.
반응형
'Infra' 카테고리의 다른 글
[Infra] GCS 적용 (3) - GCS 프로젝트에 적용 (0) | 2024.04.22 |
---|---|
[Infra] GCS 적용 (2) - GCS 기본 생성 (0) | 2024.04.09 |
[Infra] GCS 적용 (1) - GCS(Google Cloud Storage)란? (0) | 2024.04.06 |
GitHub Actions 적용 (3) - Git submodule (0) | 2024.02.22 |
GitHub Actions 적용 (2) - GitHub Actions CI/CD 스크립트 (0) | 2024.02.21 |