Source Inventory Usage 60 KO - teamswyg/laya-tools GitHub Wiki
riido-sourceinventory๋ ์ ์ฅ๋ ์์ค ์ ์ 60๊ฐ์ ์์ฑ ๊ตฌ์ฑ ์์ ๊ด๊ณ 204๊ฐ๋ฅผ ์๋ณธ Go ์ ์ธ์ ์ฐ๊ฒฐํ๋ ์ ์ง๋ณด์์ฉ ๋๊ตฌ์
๋๋ค. ๋ชจ๋ธ์ด๋ ํ๋ณด ํจ์๋ฅผ ์คํํ์ง ์์ต๋๋ค. ์ฐ๊ฒฐ๋ ๋ฌธ์ฅ์ด ๊ตฌํ์ ์ ์ค๋ช
ํ๋์ง๋ ๋ณ๋์ ๋ด์ฉ ๊ฒํ ์์ ํ๋จํฉ๋๋ค.
์๋ณธ ์
๋ ฅ์ Go ์์ค 4๊ฐ์ results-56b.json์ด๋ฉฐ ์ ์ฒด SHAยท๋ฐ์ดํธ ์๋ฅผ ๊ณ ์ ํฉ๋๋ค. ์คํ๊ธฐ์ ๋ค์ด๊ฐ Go ํ์ผ 5๊ฐ๋ ๋ฐ์ด๋๋ฆฌ์ ํจ๊ป ํฌํจํด ํ์ฌ ํ์ผยทGit ํ์ผ๊ณผ ๋น๊ตํฉ๋๋ค. ์ง์ ํ์ผ 16๊ฐ์๋ ์ด ์ฌ์ฉ๋ฒ, ๋น๋ ๋ฐฉ๋ฒ, ํ
์คํธ, ์ค๋ช
๊ฒํ ๊ท์น์ด ํฌํจ๋ฉ๋๋ค. ์ด ๋ชฉ๋ก์ ์๋ฏธ๋ก ์ ์์กด์ฑ ์ ์ฒด๋ฅผ ์ฆ๋ช
ํ๋ ๋ชฉ๋ก์ด ์๋๋๋ค.
Go 1.27.1, CGO_ENABLED=0, -trimpath, -buildvcs=false, -p=1๋ก ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋น๋ํฉ๋๋ค. ์ค์ ๋ฐ์ด๋๋ฆฌ SHAยทํฌ๊ธฐยทํ๋ซํผยท๋น๋ ์ ๋ณด๋ฅผ ๊ณํ์ ์ ์ฅํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ์ ์
๋ ฅ ๊ฒฝ๋ก๋ ๊ณต๊ฐํ์ง ์์ต๋๋ค. GOMAXPROCS=1๊ณผ Go ํ soft limit 256MiB๋ ์ค์ ์ด๋ฉฐ ์ค์ ๋ฉ๋ชจ๋ฆฌยท์๋ ์ธก์ ๊ฐ์ด ์๋๋๋ค.
๋ค์ ์์๋ ์ ์ฅ์ ๋ฃจํธ์์ ์คํํฉ๋๋ค. <...>์๋ ํด๋น ์คํ์ ์ค์ ๊ฐ์ด ๋ค์ด๊ฐ์ผ ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ์ ์์ค ์ปค๋ฐ์ ์ค๋น์ ์คํ ์ฌ์ด์ ๋ฐ๊พธ์ง ์์ต๋๋ค.
CGO_ENABLED=0 go build -trimpath -buildvcs=false -p=1 -o .cache/riido-sourceinventory-60 ./cmd/riido-sourceinventory
.cache/riido-sourceinventory-60 prepare --source-commit <source-freeze-commit> --out .cache/new-plan-60.jsonprepare๋ ์๋ณธ ASTยท๋ ์ง์คํธ๋ฆฌยท์์ํยทinventory๋ฅผ ํธ์ถํ์ง ์๊ณ ์
๋ ฅยท์คํ ํ์ผยท์ง์ ํ์ผ์ ๋ฐ์ดํธ์ Git ๊ธฐ๋ก๋ง ๊ฒ์ฆํฉ๋๋ค. Git blob ๊ฒ์ฆ์ 26๊ฐ์
๋๋ค. ์ ๊ณํ ํ์ผ์ ๊ฒํ ํด execution-plan-60.json์ผ๋ก ๊ธฐ๋กํ ๋ณ๋ ์
๋ ฅ ์ปค๋ฐ์ ๋ง๋ ํ ๊ฐ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
.cache/riido-sourceinventory-60 inventory --input-commit <input-freeze-commit> --out .cache/new-run-60/results.jsoninventory๋ ์
๋ ฅยท๊ณํยท๋ฐ์ด๋๋ฆฌ์ Git blob 27๊ฐ๋ฅผ ๋ค์ ๊ฒ์ฆํ๊ณ , ์ ์ฅ๋ ๋ฉํ๋ฐ์ดํฐ์์ ํ์ํ ๋ฌธ์์ด๋ง ์ฝ์ต๋๋ค. ํฐ ์ ์ยท์ ๋ต ํ๋๊ทธยท๋ญํนยทํ์ต ์ญํ ์ ๊ณ์ฐ์ด๋ ํน์ง์ผ๋ก ์ฎ๊ธฐ์ง ์์ต๋๋ค. ๊ทธ๋ค์ ์ ๋๋ ํฐ๋ฆฌ์ ๊ฒฐ๊ณผ ํ์ผ์ ๋จผ์ ํ๋ณดํ๊ณ ์๋ณธ ์ฐ๊ฒฐ์ 1ํ ํธ์ถํฉ๋๋ค. ์๋ ์ฌ์๋๋ 0ํ์
๋๋ค. ๊ธฐ์กด ์ถ๋ ฅ ๊ฒฝ๋ก๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ ์คํ ์ ์ ๊ฑฐ๋ถํฉ๋๋ค.
์ฑ๊ณต ๋ฒ์๋ ํ์ผ 4๊ฐ, ์๋ ์์์ ๋ฃจํธ 60๊ฐ, ๊ตฌ์ฑ ์์ ๊ด๊ณ 204๊ฐ์ ๊ฐ ๊ธฐ์กด ํด์ ์ผ์น์ ๋๋ค. ๋ฏธ๋ฆฌ ์์ํ ํ์ฑ 4ยท์์ํ 264ยท์ ๊ทํ 112ยท๋ฌถ์ 24์ ์ค์ ๋ฐํ ์นด์ดํฐ๋ ๋น๊ตํฉ๋๋ค. ๊ธฐ๋๊ฐ์ ์ค์ ์นด์ดํฐ์ ์ฑ์ฐ์ง ์์ต๋๋ค. ์ ์ธ ๊ตฌ๊ฐ์ ์๋ณธ ํด์๋ ๊ด๊ณ๋ง๋ค ๊ณ์ฐํ๋ฉฐ ์๋ก ๋ค๋ฅธ ๊ตฌ๊ฐ ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ํธ์ถ ์๋ก ๋ฐ๊พธ์ง ์์ต๋๋ค.
์ค๊ฐ ์คํจ๋ ๋ฐํ๋ ๋ถ๋ถ ๊ฒฐ๊ณผยท์ค์ ์์ ํ์ยท๊ณ ์ ์ค๋ฅ ์ฝ๋๋ฅผ ์ ์ฅํ๊ณ ๊ทธ๋๋ก ์คํจ๋ก ์ข ๋ฃํฉ๋๋ค. ์์๊ณผ ๋ค๋ฅธ ์ฑ๊ณต ๋ณด๊ณ ์๋ ๋ถ๋ถ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กดํ๋ฉฐ ์คํจ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ํจ๋์ผ๋ก ํจ์๊ฐ ๋ฐํํ์ง ์์์ผ๋ฉด ๋ด๋ถ ์นด์ดํฐ๋ฅผ ์ ์ ์๋ค๊ณ ๊ธฐ๋กํฉ๋๋ค. ๋์คํฌ ์ฐ๊ธฐ ์คํจ๋ ํ๋ก์ธ์ค ๊ฐ์ ์ข ๋ฃ์์๋ ๊ฒฐ๊ณผ ํ์ผ์ด ์์ฑ๋๋ค๊ณ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์ ์ฒด ์์คํ ์ ๋ง๋ ์ ์ญ lock์ ์์ผ๋ฉฐ ์ฌ์๋ ํ์๋ ์คํ ๊ณํ๊ณผ ๊ธฐ๋ก์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
๊ฒฐ๊ณผ์ metadata_rebound_content_review_pending์ ๋ฐ์ดํธ ์ฐ๊ฒฐ ์ฑ๊ณต์ ๋ปํฉ๋๋ค. ๊ฐ์ฒด ๋ฐ์ธ๋ฉยท์์ ํ ์์กด์ฑ ํ์ยท์ค๋ช
์น์ธยท๋ชจ๋ธ ํ์งยท๋น์ฉ ์ ๊ฐ์ ๋ปํ์ง ์์ต๋๋ค. content_review=pending, training_ready=false๋ฅผ ์ ์งํฉ๋๋ค. ๊ณต๊ฐ์๋ ์์ ํ ๊ฒฐ๊ณผ JSON๊ณผ ํ๊ธยท์๋ฌธ ์ค๋ช
๋ง ์ฌ์ฉํ๋ฉฐ ๋ก์ปฌ ๋ฐ์ด๋๋ฆฌยท๊ฒฝ๋กยท๋ชจ๋ธ ๊ฐ์ค์น๋ Git์ ์ฌ๋ฆฌ์ง ์์ต๋๋ค.
์ต์ด ๊ณต์ ์คํ ๊ณํ์ ์๋ณธ inventory 1ํ/์ฌ์๋ 0ํ์ ๋๋ค. ๊ธฐ์กด CI๊ฐ ํฉ์ฑ ์ ์ด์ ๊ณผ๊ฑฐ ๋จ๊ณ์ ๊ณ ์ ๊ฒ์ฆ์ ์คํํ๋ ๊ฒ๊ณผ ๊ตฌ๋ถํฉ๋๋ค. ์ดํ ํ๊ท ๊ฒ์ฆ์ ์ถ๊ฐํ ๋๋ ์ด ์ต์ด ์คํ ํ์์ ์๊ธํด ์์ง ์๊ณ ๋ณ๋๋ก ๊ธฐ๋กํฉ๋๋ค. ์ต์ด ๊ฒฐ๊ณผ๋ ์๋ณธ ์ ์ธ์ ์๋ฌธ SHAยท๋ฐ์ดํธ ๊ตฌ๊ฐ๊ณผ ๊ธฐ์กด ๋ฃจํธยท๊ตฌ์ฑ ์์ ์์ยท์์ํยท์ ๊ทํยท๋ฌถ์ ํด์, ์ค์ ์นด์ดํฐ๋ฅผ ๋ค์ ๋น๊ตํ๋ ๋์์ผ๋ก ์ผ์ต๋๋ค. ์ ์ธ ์ฐ๊ฒฐ์ ์ฑ๊ณต ์ฌ๋ถ๊ฐ ์๋ฏธ ํ๋จ์ ์ ๋ต ์ญํ ์ ํ์ง๋ ์์ต๋๋ค.