[Github] packages

[์›๋ณธ ๋งํฌ]

github packages๋Š” ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€ ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” private package๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.

Docker, Java Maven, ๋‹ท๋„ท Maven, Ruby, nodejs์˜ npm ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

๋ณธ ํฌ์ŠคํŠธ์—์„œ๋Š” docker์™€ npm์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋งŒ ๊ฐ„๋žตํžˆ ๋‹ค๋ค„๋ณด๊ฒ ๋‹ค.




๋น„์šฉ

๋น„์šฉ์€ github ์„œ๋น„์Šค๋“ค์ด ์œผ๋ ˆ ๊ทธ๋ ‡๋“ฏ, ์ •์•ก์ œ ํ˜•์‹์œผ๋กœ ๋‚˜๊ฐ„๋‹ค.
๋ฌผ๋ก  ๋ฌด๋ฃŒ ํ”Œ๋žœ์—์„œ๋„ ์–ด๋А์ •๋„๋Š” ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.




์ธ์ฆํ† ํฐ ๋ฐ›๊ธฐ (personal access token: PAT)

ํŒจํ‚ค์ง€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ณตํ†ต์ ์œผ๋กœ ๊นƒํ—™ ํ† ํฐ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์„ธํŒ…์œผ๋กœ ๊ฐ€์„œ

personal access token ํƒญ์œผ๋กœ ์ด๋™.

์ ๋‹นํžˆ ํŒจํ‚ค์ง€ ๊ถŒํ•œ ์ฃผ๊ณ  ๋งŒ๋“ค๋ฉด

์ด๋ ‡๊ฒŒ ํ† ํฐ๊ฐ’์ด ๋–จ์–ด์ง„๋‹ค.

๋‚˜๊ฐ€๋ฉด ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†์œผ๋‹ˆ ์ž˜ ๋ณด๊ด€ํ•œ๋‹ค.




Docker ๋ฐฐํฌ

๋จผ์ € ๊ธฐ๋ณธ ๋„์ปคํ—ˆ๋ธŒ์˜ ์‚ฌ์šฉ๋ฒ• ๋“ฑ์€ ์•Œ์•„๋‘๋Š”๊ฒŒ ์ข‹๊ฒ ๋‹ค.
๋ชจ๋ฅธ๋‹ค๋ฉด ๋จผ์ € ์•Œ์•„๋ณด๊ธธ ๊ถŒํ•œ๋‹ค.

์ฐธ์กฐ
https://blog.naver.com/sssang97/221996513575

๋จผ์ € ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค.

๊นƒํ—ˆ๋ธŒ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๋ฉ”์ธ์€ ghcr.io๋ผ์„œ, ์ด๋ ‡๊ฒŒ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜๋ฉด ๋œ๋‹ค.

docker login ghcr.io -u ๋‹‰๋„ค์ž„

ํŒจ์Šค์›Œ๋“œ๋Š” ์•„๊นŒ ๋ฐ›์€ ํ† ํฐ์„ ๋„ฃ์–ด์ค€๋‹ค.

ghcr.io/์œ ์ €๋ช…/์ด๋ฏธ์ง€๋ช…์˜ ํ˜•ํƒœ๋กœ ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ์ฃผ๊ณ , ํ‘ธ์‹œํ•˜๋ฉด ๋์ด๋‹ค.
๋‚˜๋Š” ๊ทธ๋ƒฅ ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ์˜ฌ๋ ค๋ดค๋‹ค.

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์ž˜ ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๋‹ค.

์˜ฌ๋ผ๊ฐ„ ํŒจํ‚ค์ง€๋Š” github ํŒจํ‚ค์ง€ ํƒญ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋„์ปค์˜ ๊ฒฝ์šฐ๋Š” ํ”„๋ผ์ด๋น—์œผ๋กœ๋งŒ ์˜ฌ๋ผ๊ฐ€๋Š”๋“ฏ ํ•˜๋‹ค.




Npm ๋ฐฐํฌ

npm ๋ฐฐํฌ ๊ฒฝํ—˜์ด ์—†๋‹ค๋ฉด ์•Œ์•„๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์ฐธ์กฐ
https://blog.naver.com/sssang97/222023436461

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ๊ฒฝ๋กœ์— .npmrc ๋“ฑ์œผ๋กœ ์ธ์ฆ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค.

//npm.pkg.github.com/:_authToken=ํ† ํฐ๊ฐ’

๊ทธ๋ฆฌ๊ณ  package.json์„ ์ข€ ๊ฑด๋“œ๋ ค์•ผ ํ•œ๋‹ค.
์ด๋ฆ„์— github ์œ ์ €๋„ค์ž„์„ ๋‹ฌ๊ณ 

์ €์žฅ์†Œ๋ฅผ github ์ €์žฅ์†Œ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

"publishConfig": {
    "registry": "https://npm.pkg.github.com"
}

๊ทธ๋Ÿฌ๊ณ  publishํ•˜๋ฉด ๋์ด๋‹ค.

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์˜ฌ๋ผ์™€์žˆ์„ ๊ฒƒ์ด๋‹ค.