최근 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
이 문구는 단순한 알림이 아니라 실제로 향후 워크플로 실행에 영향을 줄 수 있는 중요한 공지입니다. 본 글에서는 이 메시지의 의미와 원인, 그리고 문제 해결 방법까지 하나씩 차근차근 살펴보도록 하겠습니다.
먼저 러너(Runner)가 무엇인지 간단히 짚고 넘어가겠습니다.
GitHub Actions에서는 사용자가 작성한 워크플로우가 실제로 실행되는 환경을
러너
라고 부릅니다. 러너는 일반적으로 Ubuntu, Windows, macOS와 같은 운영 체제를 기반으로 하며, 우리가 워크플로 파일에 runs-on: ubuntu-20.04와 같이 명시하는 부분이 바로 러너를 지정하는 방식입니다.
예를 들어, 다음과 같은 워크플로를 살펴보겠습니다.
Ubuntu 20.04는 2020년 4월에 출시된 LTS(Long Term Support) 버전으로, 일반적으로 5년간의 지원을 받습니다. 하지만 GitHub에서는 보안 유지와 시스템 자원 관리 차원에서 일정 주기로 오래된 러너 이미지를 제거하고 새로운 버전으로 교체하고 있습니다.
이에 따라
2025년 4월 15일부로 ubuntu-20.04 러너는 GitHub Actions에서 완전히 제거될 예정
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 파이프라인이 멈추게 되면 자동 테스트, 배포, 린트 검사 등이 모두 중단될 수 있어 서비스 운영에 큰 영향을 줄 수 있습니다.
GitHub Actions에서 제공하는 러너 중 ubuntu-20.04는 2025년 4월 15일부로 공식 지원이 종료되며, 이후부터는 워크플로에서 사용하실 수 없습니다.
문제를 예방하기 위해서는 미리 워크플로 파일을 점검하고, runs-on: ubuntu-20.04 항목을 ubuntu-22.04로 변경하여 테스트해보시는 것을 권장드립니다.
러너 환경이 바뀌더라도 동일한 결과가 나오도록 코드를 작성하는 습관은 장기적인 유지보수에도 큰 도움이 됩니다.