포트폴리오를 만드는 과정 중에서 Github Actions를 사용해볼까 생각했다. 하지만 들어만 봤지 실제로 yml파일을 어떻게 작성해야 하는지 어떤 기능까지 수행할 수 있는지 몰랐다.
(공식문서의 가이드를 기반으로 작성되었음)
Github Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼이라고 한다.
빌드와 테스트, 배포까지 가능하다는 것은 npm run build, npm run test 그리고 pages로의 배포까지 자동화가 가능하다는 의미로 해석된다.
일단 레파지토리를 생성하고 상단의 Actions 탭에서 워크플로를 아무거나 고른뒤 이름과 코드를 수정하면 된다.
가이드를 따라 직접 .github/workflows 디렉토리에 github-actions-demo.yml 파일을 생성할 것이다.
아래는 가이드에서 제공하는 코드이다.
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v5
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
아래는 푸시가 발생했을 때 Jobs를 실행한 로그이다. 이는 Actions에서 우리가 설정한 이름으로 조회가 가능하다.

이 코드에 의하면 푸시 동작이 발생할 때 jobs가 실행된다. 여기서 무궁무진한 활용이 시작되는 것 같다. 그래서 chatgpt에 물어봤다.
Q. 실제로 jobs에 어떤 기능들 까지 넣을 수 있는지 예시를 보여줘
정말 다양한 예시가 나왔지만 눈에 띄는 것은 빌드와 Jest 테스트, 코드 포맷 검사, Docker 빌드 푸시, SSH 접속 후 배포, Github Pages 자동 배포, 슬랙 디스코드 메일알림, 데이터베이스 마이그레이션 등 정말 많은 작업들이 가능했다.
아직은 공식문서를 다 읽어보지 않았지만 워크플로를 잘 고른다면 여러 작업들을 손쉽게 할 수 있는 파이프라인을 구축할 수 있는 것 같다.
'Portfolio 제작기' 카테고리의 다른 글
| 리액트 프로젝트 깃허브 페이지로 배포하기 (Github Actions #2) (0) | 2025.11.11 |
|---|---|
| [Trouble Shooting] docker mysql이 실행되지 않는 오류 (error number 28) (0) | 2025.11.11 |
| Spring boot 의 Controller, Model, Repository 작성(간단한 예시) (0) | 2025.11.10 |
| Spring boot와 docker mysql 연결 과정 정리(트러블 슈팅 포함) (0) | 2025.11.10 |