PromleeBlog
sitemapaboutMe

posting thumbnail
GitHub Actions Ubuntu 20.04 지원 종료 및및 대응 방법
How to Handle GitHub Actions Ubuntu 20.04 Retirement

📅

🚀

들어가기 전에🔗

최근 GitHub Actions를 사용해 CI/CD 워크플로우를 실행할 때 다음과 같은 경고 또는 오류 메시지를 보신 적 있으신가요?
This is a scheduled Ubuntu 20.04 retirement. Ubuntu 20.04 LTS runner will be removed on 2025-04-15. For more details, see https://github.com/actions/runner-images/issues/11101
image
이 문구는 단순한 알림이 아니라 실제로 향후 워크플로 실행에 영향을 줄 수 있는 중요한 공지입니다. 본 글에서는 이 메시지의 의미와 원인, 그리고 문제 해결 방법까지 하나씩 차근차근 살펴보도록 하겠습니다.

🚀

GitHub Actions의 러너(Runner)란?🔗

먼저 러너(Runner)가 무엇인지 간단히 짚고 넘어가겠습니다.
GitHub Actions에서는 사용자가 작성한 워크플로우가 실제로 실행되는 환경을
러너
라고 부릅니다. 러너는 일반적으로 Ubuntu, Windows, macOS와 같은 운영 체제를 기반으로 하며, 우리가 워크플로 파일에 runs-on: ubuntu-20.04와 같이 명시하는 부분이 바로 러너를 지정하는 방식입니다.
예를 들어, 다음과 같은 워크플로를 살펴보겠습니다.
.github/workflows/action.yml
jobs:
  build:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: Install dependencies
        run: npm install
위 예시에서 runs-on: ubuntu-20.04는 이 잡(Job)이 Ubuntu 20.04 환경에서 실행되어야 함을 뜻합니다.

🚀

Ubuntu 20.04 러너가 왜 제거되나요?🔗

Ubuntu 20.04는 2020년 4월에 출시된 LTS(Long Term Support) 버전으로, 일반적으로 5년간의 지원을 받습니다. 하지만 GitHub에서는 보안 유지와 시스템 자원 관리 차원에서 일정 주기로 오래된 러너 이미지를 제거하고 새로운 버전으로 교체하고 있습니다.
이에 따라
2025년 4월 15일부로 ubuntu-20.04 러너는 GitHub Actions에서 완전히 제거될 예정
이며, 더 이상 사용하실 수 없게 됩니다.
공식 안내문은 다음 링크에서 확인하실 수 있습니다:
https://github.com/actions/runner-images/issues/11101

🚀

어떤 문제가 생기나요?🔗

ubuntu-20.04를 사용하는 워크플로는 2025년 4월 15일 이후부터 다음과 같은 에러와 함께 실행이 중단될 수 있습니다.
The workflow is using ubuntu-20.04, which is not available.
이 문제는 워크플로에서 명시한 OS 이미지가 더 이상 GitHub에서 제공되지 않기 때문에 발생합니다. 즉, 우리가 지정한 ubuntu-20.04 환경을 GitHub이 더 이상 실행해 줄 수 없다는 뜻입니다.
CI/CD 파이프라인이 멈추게 되면 자동 테스트, 배포, 린트 검사 등이 모두 중단될 수 있어 서비스 운영에 큰 영향을 줄 수 있습니다.

🚀

어떻게 해결하면 되나요?🔗

가장 확실한 해결 방법은
러너를 최신 LTS 버전으로 교체하는 것
입니다. 2025년 기준으로는 ubuntu-22.04가 기본 대체 버전으로 권장되고 있습니다.
워크플로 파일에서 runs-on 부분만 수정해 주면 됩니다. 예를 들어 다음과 같이 바꾸시면 됩니다.

변경 전🔗

runs-on: ubuntu-20.04

변경 후🔗

runs-on: ubuntu-22.04
이외에도 다음 명령으로 현재 사용 가능한 러너 목록을 확인해 보실 수 있습니다:
gh run list --json name,status,labels
또는 GitHub 공식 문서에서 지원되는 운영 체제 버전을 확인해 주세요:
GitHub-hosted runners

🚀

추가 팁: 러너 버전 업그레이드 전 테스트하기🔗

기존 워크플로가 ubuntu-20.04에 의존하는 설정이나 패키지를 사용 중이라면, 바로 버전을 올리는 것이 다소 불안할 수 있습니다. 이럴 경우 다음과 같은 단계로 점검하시는 것을 추천드립니다:
  1. 새 브랜치에서 러너 버전만 변경한 워크플로를 추가합니다
  2. 해당 브랜치에서 워크플로가 정상적으로 동작하는지 확인합니다
  3. 모든 테스트를 통과하면 main 브랜치로 병합합니다
또한, matrix 전략을 사용해 두 버전에서 동시에 테스트해보는 것도 좋은 방법입니다.
strategy:
  matrix:
    os: [ubuntu-20.04, ubuntu-22.04]

🚀

결론🔗

GitHub Actions에서 제공하는 러너 중 ubuntu-20.04는 2025년 4월 15일부로 공식 지원이 종료되며, 이후부터는 워크플로에서 사용하실 수 없습니다.
문제를 예방하기 위해서는 미리 워크플로 파일을 점검하고, runs-on: ubuntu-20.04 항목을 ubuntu-22.04로 변경하여 테스트해보시는 것을 권장드립니다.
러너 환경이 바뀌더라도 동일한 결과가 나오도록 코드를 작성하는 습관은 장기적인 유지보수에도 큰 도움이 됩니다.

🚀

참고🔗