<aside>

목차

</aside>

1. GIthub Actions


<aside> 📖

Github Actions는 로직 실행이 가능한 일종의 컴퓨터라고 생각하면 된다.

1.1. Github Actions을 활용한 CI/CD 프로세스

CI/CD 프로세스

CI/CD 프로세스

  1. 코드 작성 후 Commit
  2. Github에 Push
  3. Push를 감지해 Github Actions 로직 실행
    1. 빌드(Build)
    2. 테스트(Test)
    3. 서버로 베포(Deploy)
  4. 서버에서 베포된 최신 코드로 서버를 재실행

1.2. Github Actions - Workflow 정의

<aside>

Gihub Actions를 실행시키기 위해서는 반드시 .github/workflows에 YAML 형식(.yml, .yaml)으로 파일을 생성해 Workflow를 정의해야 한다.

<aside> ✏️

Github Actions - Workflow 정의


작업 단위: WorkflowJobsSteps

  1. Workflow 이름 설정
  2. 이벤트 트리거 설정 ( 브랜치 간에 merge 발생 시 )
  3. workflow 내 job 설정
  4. job 내 step 설정
  5. step으로 실행 동작 정의
# 1. Workflow의 이름
# Workflow: 하나의 yml 파일을 하나의 Workflow 라고 부른다.
name: Github Actions 실행

# 2. Event: 실행 트리거 설정
	# main이라는 브랜치에 push 될 때 해당 아래 Workflow를 실행
on:
	push:
		branches:
			- main

# 3. workflow 내 job 설정
# 하나의 Workflow는 1개 이상의 Job으로 구성된다.
# 여러 Job은 기본적으로 병렬적으로 수행된다. 
jobs:
	# Job 식별 id
	My-Deploy-job:
		# Github Actions를 실행시킬 서버 종류 선택
		runs-on: ubuntu-latest
		
		# 4. job 내 step 설정
		# Step: 특정 작업을 수행하는 가장 작은 단위
		# Job은 여러 Step들로 구성되어 있다.
		steps: 
			# 5. 각 step에 실행 동작 정의
			- name: Hello World 찍기 # Step에 이름 명시 가능
				run: echo "Hello World" # 실행시킬 명령어 작성
			
			- name: 여러 명령어 문장 작성
				run: |
					echo "Good"
					echo "Morning"
			
			# 참고: <https://docs.github.com/en/actions/learn-github-actions/variables>	
			- name: Github Actions 자체에 저장되어 있는 변수 사용
				run: |
					echo $GITHUB_SHA
					echo $GITHUB_REPOSITORY
					
			- name: Github Actions Secret 변수 사용
				run: |
					echo ${{ secrets.MY_NAME }}
					echo ${{ secrets.MY_HOBBY }}