Github Actions
GitHub에서 제공하는 지속적인 통합(CI) 및 지속적인 배포(CD) 서비스
개발자는 GitHub 저장소 내에서 워크플로우(Workflows)를 정의하여 코드 변경 사항을 자동으로 빌드, 테스트, 배포할 수 있다.
다음과 같은 작업을 수행할 수 있다.
- 자동 빌드 및 테스트: 코드 변경 사항이 발생하면 지정된 빌드 스크립트 또는 명령을 실행하여 애플리케이션을 자동으로 빌드하고 테스트할 수 있다.
- 지속적인 배포: 애플리케이션을 변경 사항이 있는 경우 자동으로 배포할 수 있습니다. 예를 들어, 서버에 변경 사항을 자동으로 배포하거나 클라우드 서비스에 컨테이너 이미지를 업데이트할 수 있다.
- 사용자 정의 워크플로우: GitHub Actions는 다양한 이벤트와 작업을 트리거로 사용자 정의 워크플로우를 작성할 수 있는 유연성을 제공합니다. 이벤트는 저장소에서의 코드 커밋, 이슈 업데이트, Pull Request 등 다양한 작업을 포함할 수 있다.
- 소프트웨어 릴리스 관리: GitHub Actions를 사용하여 소프트웨어 릴리스를 자동으로 생성하고 관리할 수 있습니다. 릴리스 노트를 작성하거나 첨부 파일을 업로드하는 등의 작업을 자동화할 수 있다.
YAML 기반의 구성 파일을 사용하여 워크플로우를 정의하며, 이를 통해 다양한 작업 단계와 작업 실행 환경을 구성할 수 있다.
GitHub 계정에 내장되어 있으며, 편리한 웹 기반 대시보드를 통해 워크플로우의 실행 상태를 모니터링하고 관리할 수 있다.
작업 단위
워크플로우 파일에서 정의한 각각의 작업(Job)이다.
여러 작업을 포함할 수 있고, 각 작업은 코드 저장소의 이벤트(예: push, pull request 등) 발생 시 실행되는 독립적인 단위이다.
name: DEPLOY TO PROD
on:
workflow_dispatch:
push:
branches: ["main"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build project
run: |
# Build commands go here
- name: Run tests
run: |
# Test commands go here
- on
- workflow_dispatch: 워크플로우 수동으로 실행하기 위한 트리거 설정
- push: 해당 이슈에 액션 실행
- jobs
- runs-on: 작업이 실행되는 환경 지정
- steps: 작업의 단계
추가 사항
이와 같이 기본 설정 외에도 에러 발생 시 슬랙 알림 설정, 특정 레포지토리 깃헙 액션 호출 등 커맨드를 통해 생성할 수 있다.
'👩💻 개발 > 📡 DEVOPS' 카테고리의 다른 글
[DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 2 (0) | 2023.02.22 |
---|---|
[DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 1 (2) | 2023.02.21 |
[Nginx] Nginx란? (0) | 2022.12.26 |
[Docker] 도커 컴포즈란? (1) | 2022.12.23 |
[Docker] 도커란 무엇인가? (0) | 2022.12.23 |