Github Actions의 장점
- 무료 사용
- 빌드용 서버가 따로 필요 없음
Github Actions 이란 일종에 로직을 실행시킬 수 있는 컴퓨터이다
CI/CD 과정
- 코드 작성 후 COMMIT
- Github에 PUSH
- PUSH 감지해서 Github Actions에 작성한 로직 실행
- 빌드
- 테스트(생략하기도 함)
- 서버로 배포
- 서버에서 배포된 최신 코드로 서버를 재 실행
Github Actions 사용방법
새로운 프로젝트 만들기
spring boot로 CI/CD 파이프라인을 구축할 것임
. github/workflows/deploy.yml 만들기
- .github 폴더 생성 (프로젝트 최 상단에 위치)
- workflows 폴더 생성 (여기까지는 스펠링도 틀리면 안 됨 , 주의하기)
- . yml 파일생성 ( 이름은 자유롭게)
# Workflow 이름
name : workflows 이름
# Evnent : 실행되는 시점을 설정
# main 브랜치에 push 될 때 아래 workflow를 실행
on:
push:
branches:
- main
# 하나의 workflow는 한개이상의 job으로 구성된다
# job이 먼가를 표현하기 위한 단위구나!
# 여러 job은 기본적으로 병렬 작업 실행
jobs:
# 임의로 설정한 이름
# job을 식별하기 위한 id
My-Deloy-Job:
# ubuntu라는 os 환경 / 가장최신버전(latest)
# 운영체제를 고르는 기능
runs-on : ubuntu-latest
#특정 작업을 수행하는 가장 작은 단위
#Job은 여러 Step들로 구성되어있다
steps:
- name: Hello World 찍기
# 실제 코드를 작성(리눅스)
run: echo "Hello World"
-name : 여러 명령어 문장 작성하기
run : | #여러줄 추가 방법
echo "Good"
echo "Morning"
-name : Github Actions 자체에 저장되어 있는 변수 사용해보기
run: |
#지금 해당하는 commit의 id
echo $GITHUB_SHA #변수를 가져오는 방법 $
#github에 레포짓토리명
echo $GITHUB_REPOSITORY
#시크릿값을 저장알수 있는 방법
#github의 시크릿 기능을 사용
-name : 아무한테도 노출되면 안되는 값
run : echo ${{ secrets.MY_PASSWORD }}
secrets 설정방법
repository > setting > Secrets and variables > Actions > secrets > new repository secret
name , secret * 설정 후 저장
ex) 여기서 설정한 name 이 " MY_PASSWORD " 일 경우 yml파일에서 아래와 같이 불러올 수 있다
run : echo ${{ secrets.MY_PASSWORD }}
Github Repository 만들어서 업로드
$ git init
$ git add .
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin {Repository 주소}
$ git push -u origin main
'DevOps > CI,CD' 카테고리의 다른 글
[CI/CD] CI/CD란? (0) | 2024.07.15 |
---|