๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

NETWORK ยท CLOUD ยท SECURITY ยท AUTOMATION

Network History๐ŸŒ

๋„คํŠธ์›Œํฌ/ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๋ฅผ ๊ฟˆ๊พธ๋Š” ์ „์ž๊ณตํ•™๋„์˜ ์„ฑ์žฅ ๊ธฐ๋ก โœ๏ธ AI, Windows, ๋ณด์•ˆ, ํด๋ผ์šฐ๋“œ, ๋„คํŠธ์›Œํฌ, ์ž๋™ํ™”์™€ ๊ฐœ๋ฐœ·๋ฐฐํฌ๊นŒ์ง€. ํ˜„์žฅ์—์„œ ๋งˆ์ฃผ์น˜๋Š” IT ๋ฌธ์ œ๋ฅผ ์›์ธ๋ถ€ํ„ฐ ํ•ด๊ฒฐ๊นŒ์ง€ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด๋ก ์„ ๋„˜์–ด ์‹ค๋ฌด๋กœ ํ–ฅํ•˜๋Š” ์—ฌ์ •, "Network History ๐ŸŒ"

๊ฐœ๋ฐœ·๋ฐฐํฌ

GitHub Actions Ubuntu 26 ์ „ํ™˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฒ•

Network History๐ŸŒ Last Updated: 2026. 9. 20. 20:51

 

๐Ÿ’ป 9์›” 17์ผ GitHub๊ฐ€ Ubuntu 26.04 Runner๋ฅผ ์ •์‹ ์ง€์›ํ•œ๋‹ค๊ณ  ๋ฐœํ‘œํ•˜๋ฉด์„œ, ubuntu-latest๋ฅผ ์“ฐ๋Š” GitHub Actions๋„ ๊ณง ์šด์˜์ฒด์ œ๊ฐ€ ๋ฐ”๋€” ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. GitHub๋Š” 2026๋…„ 10์›” 19์ผ๋ถ€ํ„ฐ 11์›” 19์ผ๊นŒ์ง€ ubuntu-latest๋ฅผ Ubuntu 24.04์—์„œ 26.04๋กœ ๋‹จ๊ณ„์ ์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค๊ณ  ์•ˆ๋‚ดํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ Workflow๊ฐ€ ๋ฉ€์ฉกํ•˜๋”๋ผ๋„ ํŠน์ • Runtime·APT ํŒจํ‚ค์ง€·Docker·Helm·Java ๊ธฐ๋ณธ๋ฒ„์ „์— ๊ธฐ๋Œ€๊ณ  ์žˆ๋‹ค๋ฉด ์ „ํ™˜ ๋’ค ๊ฐ‘์ž๊ธฐ Build๊ฐ€ ๊นจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹จ๊ณ„์  ์ „ํ™˜ ๊ธฐ๊ฐ„์—๋Š” ๊ฐ™์€ ubuntu-latest์ธ๋ฐ๋„ ์‹คํ–‰ ์‹œ์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ OS๋ฅผ ๋งŒ๋‚˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์–ด ์›์ธ ํŒŒ์•…์ด ๋” ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘‹ Network History ๋…์ž ์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”. YH์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ๋‹จ์ˆœํžˆ “Ubuntu 26์ด ๋‚˜์™”๋‹ค”๋Š” ์†Œ์‹๋ณด๋‹ค

๋‚ด Workflow๊ฐ€ ์™œ ๊นจ์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ → ์ง€๊ธˆ ์–ด๋–ค Runner๋ฅผ ์“ฐ๋Š”์ง€ ํ™•์ธ → Ubuntu 24์™€ 26 ์ฐจ์ด ์ ๊ฒ€ → ์‚ฌ์ „ Matrix Test → Runtime ๊ณ ์ • → ์ž„์‹œ Rollback → ์ •์ƒํ™” ๊ฒ€์ฆ

์ˆœ์„œ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“… ์ „ํ™˜ ๊ธฐ๊ฐ„

GitHub๋Š” 10์›” 19์ผ~11์›” 19์ผ ์‚ฌ์ด ubuntu-latest๋ฅผ Ubuntu 26.04๋กœ ๋‹จ๊ณ„ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์ฃผ์š” ์›์ธ

OS ์ž์ฒด๋ณด๋‹ค ๊ธฐ๋ณธ Runtime·๋„๊ตฌ·ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๋ณ€ํ™”์— ๊ธฐ๋Œ€๋Š” Workflow๊ฐ€ ๊นจ์ง€๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

๐Ÿงช ๊ฐ€์žฅ ์ข‹์€ ๋Œ€๋น„

ํ˜„์žฌ Job์„ ubuntu-24.04์™€ ubuntu-26.04์—์„œ ๋™์‹œ์— ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ž„์‹œ ํšŒํ”ผ

์ „ํ™˜ ์ค€๋น„๊ฐ€ ์•ˆ ๋๋‹ค๋ฉด ubuntu-latest ๋Œ€์‹  ubuntu-24.04๋ฅผ ๋ช…์‹œํ•ด ์‹œ๊ฐ„์„ ๋ฒŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ํ•œ ์ค„

ubuntu-latest๋ฅผ ์šด์˜์ฒด์ œ ๋ฒ„์ „์ฒ˜๋Ÿผ ๋ฏฟ์ง€ ๋ง๊ณ , OS์™€ Runtime์„ ๊ฐ๊ฐ ๋ช…์‹œ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ CI๊ฐ€ ๊ฐ‘์ž๊ธฐ ๊นจ์ง€๋Š” ์ผ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐ™์€ ubuntu-latest์ธ๋ฐ ์™œ ๊ฐ‘์ž๊ธฐ Build๊ฐ€ ์‹คํŒจํ• ๊นŒ์š”?

ubuntu-latest๋Š” “์˜์›ํžˆ ๊ฐ™์€ Ubuntu ๋ฒ„์ „”์ด๋ผ๋Š” ๋œป์ด ์•„๋‹™๋‹ˆ๋‹ค. GitHub Runner Images ์ •์ฑ…์—์„œ -latest Label์€ ์ตœ์‹  Stable OS Image๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ, ์ƒˆ GA Image๊ฐ€ ์ค€๋น„๋˜๋ฉด ์ผ์ • ๊ธฐ๊ฐ„์— ๊ฑธ์ณ ๋Œ€์ƒ์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” Ubuntu 24.04์—์„œ Ubuntu 26.04๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. GitHub ๊ณต์‹ ์•ˆ๋‚ด๋Š” ์ด ์ „ํ™˜์ด 2026๋…„ 10์›” 19์ผ๋ถ€ํ„ฐ 11์›” 19์ผ๊นŒ์ง€ ์ ์ง„์ ์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ง€๊ธˆ ubuntu-latest = 24.04 ๋‹จ๊ณ„์  Migration ubuntu-latest = 26.04

๋ฌธ์ œ๋Š” Workflow YAML์ด ํ•˜๋‚˜๋„ ๋ฐ”๋€Œ์ง€ ์•Š์•„๋„ Runner OS์™€ ๊ทธ ์•ˆ์˜ ๊ธฐ๋ณธ Software๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. Build Script๊ฐ€ “Runner์— ์›๋ž˜ ๊น”๋ ค ์žˆ์„ ๊ฒƒ”์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋ผ์ง€๊ฑฐ๋‚˜, ๊ธฐ๋ณธ Major Version์ด ๋‹ฌ๋ผ์ง€๊ฑฐ๋‚˜, ์ƒˆ ๋ฒ„์ „์—์„œ ์˜ต์…˜·ํ˜ธํ™˜์„ฑ์ด ๋ฐ”๋€Œ๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ “์–ด์ œ๊นŒ์ง€ ๋๋Š”๋ฐ ์˜ค๋Š˜๋ถ€ํ„ฐ ์•ˆ ๋œ๋‹ค”๋ฉด ๋จผ์ € Runner Image๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋‚˜ Dependency๊ฐ€ ๊ฐ™๋”๋ผ๋„ Hosted Runner Image๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. Migration ๊ธฐ๊ฐ„์—๋Š” OS ๋ณ€๊ฒฝ๊นŒ์ง€ ๊ฒน์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰ ubuntu-latest๋Š” ํŽธ๋ฆฌํ•œ Alias์ด์ง€ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ Build Environment๋ฅผ ๋ณด์žฅํ•˜๋Š” Version Pin์€ ์•„๋‹™๋‹ˆ๋‹ค.


Ubuntu 24์™€ 26์—์„œ ์‹ค์ œ๋กœ ๋ฌด์—‡์ด ๋‹ฌ๋ผ์งˆ๊นŒ์š”?

ํ˜„์žฌ GitHub Runner Image ๋ชฉ๋ก์„ ๋น„๊ตํ•˜๋ฉด ๋‹จ์ˆœ OS ์ˆซ์ž๋งŒ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ธฐ๋ณธ Runtime๊ณผ ์ฃผ์š” Tool Chain์˜ Major Version์ด ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ Ubuntu 24.04 Image Ubuntu 26.04 Image
Node.js ๊ธฐ๋ณธ Runtime 22.23.2 24.20.0
Python ๊ธฐ๋ณธ Runtime 3.12.3 3.14.4
Java ๊ธฐ๋ณธ JDK 17 25
Helm 3.21.4 4.2.4
Docker Engine 28.0.4 29.4.2
Docker Compose 2.38.2 5.1.3
OpenSSL 3.0.x 3.5.x
PostgreSQL 16.x 18.x
MySQL 8.0.x 8.4.x

์ด ํ‘œ์˜ ์˜๋ฏธ๋Š” “์ƒˆ ๋ฒ„์ „์ด ๋‚˜์˜๋‹ค”๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. Workflow๊ฐ€ ์–ด๋–ค Version์„ ์ „์ œ๋กœ ์ž‘์„ฑ๋๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›๋Š” ํŒจํ„ด

Workflow ํŒจํ„ด ์™œ ์œ„ํ—˜ํ•œ๊ฐ€
setup Action ์—†์ด node/python/java ๋ฐ”๋กœ ์‹คํ–‰ PATH์˜ ๊ธฐ๋ณธ Runtime์ด ๋ฐ”๋€Œ๋ฉด Build ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ
Runner ๊ธฐ๋ณธ Helm/Docker์— ์˜์กด Major Version ๋ณ€ํ™”๋กœ Command·Plugin·ํ˜ธํ™˜์„ฑ ์ฐจ์ด๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ
APT Package๊ฐ€ ํ•ญ์ƒ ์žˆ๋‹ค๊ณ  ๊ฐ€์ • OS Repository์™€ Package ๊ตฌ์„ฑ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ
Local DB ์„œ๋น„์Šค์— ๋ฒ„์ „ ์ „์ œ PostgreSQL·MySQL Major Version ๋ณ€ํ™”๊ฐ€ Migration/Test ๊ฒฐ๊ณผ์— ์˜ํ–ฅ ๊ฐ€๋Šฅ
Native Extension Compile Compiler·OpenSSL·System Library ์ฐจ์ด๊ฐ€ Build์— ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ์Œ

Runner Image์˜ “์„ค์น˜ ๋ชฉ๋ก”๋„ ๊ณ ์ • API๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

GitHub๋Š” Hosted Image๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ง€์›์ •์ฑ…์— ๋”ฐ๋ผ ์˜ค๋ž˜๋œ Tool์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ ๋ฒ„์ „์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ Tool์€ Workflow๊ฐ€ ์ง์ ‘ ์ค€๋น„ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ํŽธ์ด ์žฌํ˜„์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.


์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค๋ฉด Runner Image๋ถ€ํ„ฐ ํ™•์ธํ•˜์„ธ์š”

Migration ์‹œ๊ธฐ์— Build๊ฐ€ ์‹คํŒจํ•˜๋ฉด Dependency๋ถ€ํ„ฐ ๋ฌด์ž‘์ • ์ง€์šฐ๊ธฐ๋ณด๋‹ค ์‹คํ–‰ํ™˜๊ฒฝ์ด ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋น ๋ฆ…๋‹ˆ๋‹ค.

1
์‹คํŒจํ•œ Workflow Run์„ ์—ฝ๋‹ˆ๋‹ค
GitHub Actions์—์„œ ์‹คํŒจํ•œ Job์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
2
Set up job ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค
GitHub Runner Images ๋ฌธ์„œ๋Š” ์‹ค์ œ ์‚ฌ์šฉ๋œ Image Version์„ `Set up job` ๋‹จ๊ณ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
3
OS์™€ Runtime ๋ฒ„์ „์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค
๋ฌธ์ œ Job์— ์ž„์‹œ ์ง„๋‹จ Step์„ ์ถ”๊ฐ€ํ•ด ํ˜„์žฌ ํ™˜๊ฒฝ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
cat /etc/os-release
uname -a
node --version || true
python --version || true
java -version || true
docker --version || true
helm version || true
4
์ง์ „ ์„ฑ๊ณต Run๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค
์ฝ”๋“œ Commit๋งŒ ๋ณด์ง€ ๋ง๊ณ  Runner OS·Image Version·Runtime ์ฐจ์ด๊นŒ์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
5
26.04์—์„œ๋งŒ ์‹คํŒจํ•˜๋Š”์ง€ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค
runs-on์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ”๊ฟ” ๋™์ผ Commit์„ ๋‘ OS์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ง„๋‹จ ์ˆœ์„œ

์‹คํŒจ Run → Set up job → OS/Tool Version → ์ง์ „ ์„ฑ๊ณต Run ๋น„๊ต → 24.04/26.04 ๋ถ„๋ฆฌ ํ…Œ์ŠคํŠธ

์ด ์ˆœ์„œ๋ฅผ ์“ฐ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฌธ์ œ์ธ์ง€ Runner Migration ๋ฌธ์ œ์ธ์ง€ ๋น ๋ฅด๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐ€์žฅ ์•ˆ์ „ํ•œ ์‚ฌ์ „ ํ…Œ์ŠคํŠธ๋Š” OS Matrix์ž…๋‹ˆ๋‹ค

GitHub๋„ Migration ์ „์— ubuntu-26.04์—์„œ Workflow๋ฅผ ๋จผ์ € ํ…Œ์ŠคํŠธํ•˜๋ผ๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ CI๋ฅผ ๋ฐ”๋กœ ๋ฐ”๊พธ๊ธฐ๋ณด๋‹ค ๋™์ผ Job์„ Ubuntu 24์™€ 26์—์„œ ๋™์‹œ์— ๋Œ๋ฆฌ๋ฉด ์ฐจ์ด๋ฅผ ์ฐพ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-24.04
          - ubuntu-26.04

    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v7
      - run: ./ci/test.sh

Matrix์—์„œ ํ™•์ธํ•  ๊ฒƒ

์˜์—ญ ํ™•์ธ ํ•ญ๋ชฉ
Install APT·pip·npm·Maven·Gradle ์„ค์น˜๊ฐ€ ์ •์ƒ์ธ์ง€
Build Compiler·OpenSSL·Native Module์—์„œ ์‹คํŒจํ•˜์ง€ ์•Š๋Š”์ง€
Test Timezone·Locale·DB Version ์ฐจ์ด๋กœ Test๊ฐ€ ๊นจ์ง€์ง€ ์•Š๋Š”์ง€
Container Docker Build·Compose·Buildx·Registry Login์ด ์ •์ƒ์ธ์ง€
Deploy Helm·kubectl·Cloud CLI Script๊ฐ€ ์ƒˆ ๋ฒ„์ „์—์„œ๋„ ๋™์ž‘ํ•˜๋Š”์ง€

์ „์ฒด Workflow๋ฅผ ํ•œ ๋ฒˆ์— ๋ฐ”๊พธ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

Build/Test Job๋ถ€ํ„ฐ 26.04 ๊ฒ€์ฆ์„ ์‹œ์ž‘ํ•˜๊ณ , Deploy์ฒ˜๋Ÿผ ์œ„ํ—˜๋„๊ฐ€ ๋†’์€ Job์€ ๋ณ„๋„ Branch๋‚˜ ์ˆ˜๋™ Trigger์—์„œ ๊ฒ€์ฆํ•œ ๋’ค ์ „ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ Production Deployment๋ผ๋ฉด ๋‹จ์ˆœ Build Success๋ณด๋‹ค Artifact Hash, Container Image, Helm Render ๊ฒฐ๊ณผ์ฒ˜๋Ÿผ ์‹ค์ œ ์‚ฐ์ถœ๋ฌผ์ด 24.04์™€ 26.04์—์„œ ์˜๋„๋Œ€๋กœ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.


Runtime์€ setup Action์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ๊ณ ์ •ํ•˜์„ธ์š”

GitHub์˜ setup-node์™€ setup-python ๋ฌธ์„œ ๋ชจ๋‘ System PATH์˜ ๊ธฐ๋ณธ Runtime์— ์˜์กดํ•˜์ง€ ๋ง๊ณ  Version์„ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ์‹์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Node.js

- uses: actions/setup-node@v7
  with:
    node-version: '24'
    cache: 'npm'

Python

- uses: actions/setup-python@v7
  with:
    python-version: '3.13'

Java

- uses: actions/setup-java@v6
  with:
    distribution: temurin
    java-version: '21'

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Runner OS๊ฐ€ Ubuntu 24์—์„œ 26์œผ๋กœ ๋ฐ”๋€Œ์–ด๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ Runtime ์ž์ฒด๋Š” Workflow๊ฐ€ ์ •ํ•œ Version์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

OS์™€ Runtime Pin์€ ์—ญํ• ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

ubuntu-24.04๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ณ ์ •ํ•˜๊ณ , setup-node·setup-python·setup-java๋Š” ์–ธ์–ด Runtime์„ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ CI๋Š” ๋‘˜์„ ํ•„์š”์— ๋”ฐ๋ผ ๊ฐ๊ฐ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Helm·Terraform·kubectl·Cloud CLI์ฒ˜๋Ÿผ Deployment์— ์ง์ ‘ ์˜ํ–ฅ์„ ์ฃผ๋Š” Tool๋„ “Runner์— ์„ค์น˜๋œ ๋ฒ„์ „”์„ ๊ทธ๋ƒฅ ์“ฐ๊ธฐ๋ณด๋‹ค ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒ€์ฆํ•œ Version์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์ „์šฉ Setup Action์„ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

CI ์žฌํ˜„์„ฑ์„ ๋†’์ด๋Š” ํ•ต์‹ฌ์€ “Runner Image์— ๋ญ๊ฐ€ ๋“ค์–ด์žˆ์„๊นŒ?”๊ฐ€ ์•„๋‹ˆ๋ผ “์šฐ๋ฆฌ Workflow๊ฐ€ ๋ฌด์—‡์„ ์š”๊ตฌํ•˜๋Š”์ง€ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ”์ž…๋‹ˆ๋‹ค.

๋‹น์žฅ ์ „ํ™˜์ด ์–ด๋ ต๋‹ค๋ฉด ubuntu-24.04๋กœ ๊ณ ์ •ํ•˜์„ธ์š”

Migration ๊ธฐ๊ฐ„์— ๋ฐ”๋กœ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ค์šด Production Workflow๋ผ๋ฉด GitHub๊ฐ€ ์•ˆ๋‚ดํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ubuntu-latest ๋Œ€์‹  ubuntu-24.04๋ฅผ ๋ช…์‹œํ•ด ๊ธฐ์กด OS๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

jobs:
  deploy:
    runs-on: ubuntu-24.04

๋‹ค๋งŒ ์ด๊ฒƒ์€ ์˜๊ตฌ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๋ผ Migration ์‹œ๊ฐ„์„ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Runner Image๋Š” ์ง€์›์ •์ฑ…์— ๋”ฐ๋ผ ์˜ค๋ž˜๋œ OS๊ฐ€ ๊ฒฐ๊ตญ Deprecation๋˜๋ฏ€๋กœ ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” Ubuntu 26 ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „ํ™˜ ์™„๋ฃŒ ํ›„ ์ •์ƒํ™” ์ฒดํฌ๋ฆฌ์ŠคํŠธ

1
OS ๋ช…์‹œ ํ™•์ธ
์•ˆ์ •์„ฑ์ด ํ•„์š”ํ•œ Job์€ ubuntu-26.04 ๋˜๋Š” ์˜๋„ํ•œ Label์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
2
Runtime Pin ํ™•์ธ
Node·Python·Java๊ฐ€ PATH ๊ธฐ๋ณธ๊ฐ’์— ์˜์กดํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
3
System Package ํ™•์ธ
ํ•„์ˆ˜ APT Package๋ฅผ Workflow์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
4
Deploy Tool Version ํ™•์ธ
Docker·Helm·Cloud CLI ๋“ฑ ์ฃผ์š” Tool Version์„ ๊ธฐ๋กํ•˜๊ณ  ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
5
Set up job ๋กœ๊ทธ ๋ณด์กด
๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ Runner Image Version์„ ๋ฐ”๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋„๋ก Run Log๋ฅผ ๊ธฐ์ค€์ ์œผ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค.
6
ubuntu-latest ์‚ฌ์šฉ ๋ชฉ์  ํ™•์ธ
์ตœ์‹  OS๋ฅผ ์ž๋™์œผ๋กœ ๋”ฐ๋ผ๊ฐ€๋ ค๋Š” Job์—์„œ๋งŒ Alias๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์žฌํ˜„์„ฑ์ด ์ค‘์š”ํ•œ Job์€ Version Label์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  Alias๊ฐ€ ๋‚˜์œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋น ๋ฅด๊ฒŒ ์ตœ์‹  ํ™˜๊ฒฝ์„ ๊ฒ€์ฆํ•˜๋Š” CI์—๋Š” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ Production Release์ฒ˜๋Ÿผ ํ™˜๊ฒฝ ๋ณ€๋™์ด ์žฅ์• ๋กœ ์ง๊ฒฐ๋˜๋Š” Workflow๋ผ๋ฉด ๋ช…์‹œ์  Version์ด ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋งˆ๋ฌด๋ฆฌ

GitHub Actions์˜ Ubuntu 26.04 ์ „ํ™˜์€ ๋‹จ์ˆœํ•œ Runner ์ด๋ฆ„ ๋ณ€๊ฒฝ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ธฐ๋ณธ Node·Python·Java๋ถ€ํ„ฐ Helm·Docker·OpenSSL·Database๊นŒ์ง€ ์—ฌ๋Ÿฌ Tool Chain์ด ํ•จ๊ป˜ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์—, Runner ํ™˜๊ฒฝ์— ์•”๋ฌต์ ์œผ๋กœ ์˜์กดํ•œ Workflow๋ผ๋ฉด ์‹ค์ œ Build ์˜ค๋ฅ˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ ๋Œ€์‘ ์ˆœ์„œ๋Š” ๋ณต์žกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Runner ํ™•์ธ → 24/26 Matrix Test → Runtime ๋ช…์‹œ → ํ•„์š”ํ•œ Package ์ง์ ‘ ์„ค์น˜ → Deploy Tool Version ๊ฒ€์ฆ → ํ•„์š” ์‹œ 24.04 ์ž„์‹œ Pin ์ˆœ์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

โœ… ์˜ค๋Š˜ ๋ฐ”๋กœ ํ•ด๋ณผ ์ ๊ฒ€์€ Repository ์ „์ฒด์—์„œ runs-on: ubuntu-latest๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋ณด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ Job์ด setup Action ์—†์ด Node·Python·Java๋ฅผ ๋ฐ”๋กœ ์“ฐ๊ฑฐ๋‚˜ Runner ๊ธฐ๋ณธ Helm·Docker์— ์˜์กดํ•œ๋‹ค๋ฉด Ubuntu 26 ์ „ํ™˜ ์ „์— ๋จผ์ € ํ…Œ์ŠคํŠธํ•  ํ›„๋ณด์ž…๋‹ˆ๋‹ค. ๐Ÿ”ง

Network History์˜ YH์˜€์Šต๋‹ˆ๋‹ค.

โ€ป ์ด ๊ธ€์€ 2026๋…„ 9์›” 20์ผ ๊ธฐ์ค€ GitHub Changelog, GitHub Hosted Runner ๋ฌธ์„œ์™€ runner-images์˜ Ubuntu 24.04·26.04 Software List๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. Hosted Runner Image์˜ ์„ธ๋ถ€ Software Version์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹ค์ œ Migration ์‹œ์ ์—๋Š” ์ตœ์‹  ๋ชฉ๋ก๊ณผ ์ž์‹ ์˜ Workflow Run ๋กœ๊ทธ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜์„ธ์š”.


๐Ÿ”— ๊ณต์‹ ์ถœ์ฒ˜