CI/CD 파이프라인 구축 단계
1. GitHub Actions 설정
GitHub Actions는 GitHub에 내장된 CI/CD 도구로, 별도의 서버를 설치하지 않고도 자동화된 빌드, 테스트, 배포 등을 설정할 수 있습니다.
1.1 GitHub Actions 워크플로우 파일 만들기
- GitHub 저장소에서 .github/workflows라는 폴더를 만들고 그 안에 워크플로우 파일을 생성합니다.
- 워크플로우 파일 (ci-cd.yml)의 내용은 기본적으로 다음과 같습니다:
name: CI/CD Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# 코드 체크아웃
- name: Checkout code
uses: actions/checkout@v3
# Node.js 설치 (예시로 Node.js 사용하는 경우)
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
# 의존성 설치
- name: Install dependencies
run: npm install
# 테스트 실행
- name: Run tests
run: npm test
# 배포 (예시로 AWS, Heroku, 등 배포 명령어 추가)
- name: Deploy to Production
run: |
echo "Deploying application"
# 배포 명령어 추가 (예: AWS CLI, Heroku, 등)
위 예시는 Node.js 애플리케이션을 대상으로 작성된 CI/CD 파이프라인의 예입니다. 실제 프로젝트에 맞게 의존성 설치, 테스트 실행, 배포 과정은 달라질 수 있습니다.
1.2 파일 설명
- name: 워크플로우의 이름을 설정합니다.
- on: 워크플로우가 트리거될 이벤트를 설정합니다. 예를 들어, push가 main 브랜치에 푸시될 때 워크플로우가 실행됩니다.
- jobs: 여러 작업들을 정의할 수 있는 블록입니다. 여기서는 build라는 작업을 하나 정의했습니다.
- steps: 각 작업을 구성하는 단계들입니다. 코드 체크아웃, 의존성 설치, 테스트 실행, 배포 등이 포함됩니다.
1.3 코드 풀
- 위 내용을 VScode의 my-project로 pull 해줍니다.
git pull origin main
이제 readme1.txt 파일을 my-prject안에 생성하고 push하겠습니다.
git add .
git commit -m "Initial commit"
git push origin main
다만 현재 아무내용이 없는 관계로 푸시를 해도 아래와 같이 나옵니다.
이후 구성은 다음에 하도록 하겠습니다.
2. CI/CD 파이프라인 구성
2.1 코드 푸시 시 자동 빌드
- GitHub Actions는 push 이벤트를 감지하여 자동으로 빌드를 수행합니다.
- npm install 및 npm test는 코드가 푸시될 때마다 자동으로 의존성을 설치하고 테스트를 실행합니다.
2.2 자동 배포
- 배포가 필요한 경우, 예를 들어 AWS, Heroku, Docker, Kubernetes 등을 사용하여 자동 배포를 설정할 수 있습니다.
- 예를 들어 AWS에 배포하려면 AWS CLI를 설정하여 aws s3 cp, aws ecs update-service 등의 명령어를 사용합니다.
- Heroku 배포는 heroku CLI를 사용하여 git push heroku main 명령어를 실행하는 방식입니다.
2.3 환경 설정
- 배포와 관련된 API 키나 환경 변수를 GitHub의 Secrets에 설정하여 보안을 유지할 수 있습니다.
- Settings > Secrets and variables > Actions에서 Secrets을 추가합니다.
- 예시: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, HEROKU_API_KEY 등.
3. CI/CD 파이프라인 동작 확인
3.1 GitHub Actions 실행 확인
- 코드를 main 브랜치에 푸시합니다.
- GitHub 저장소에서 Actions 탭을 클릭하여 워크플로우가 실행 중인지 확인할 수 있습니다.
- 진행 중인 빌드가 표시되며, 각 단계별로 성공/실패 여부를 확인할 수 있습니다.
3.2 오류 처리 및 로그 확인
- 만약 오류가 발생하면, 해당 로그에서 에러 메시지를 확인하고 해결합니다.
- 예를 들어, npm install 중 오류가 발생한 경우, 해당 오류를 해결한 후 다시 푸시하면 자동으로 파이프라인이 실행됩니다.
'IT 관련 > CICD' 카테고리의 다른 글
[CICD] VS Code와 GitHub 연결 및 커밋, 푸시하기 (1) | 2024.11.15 |
---|