๋ฒ๊ทธ ์ค๋ช
package.json
๋ ์ํํ ๋ถ๊ธฐ์์ (yarn/npx) auto shipit
๋ฅผ ์คํํ ๋ ์
๋ฐ์ดํธ๋์ง ์์ต๋๋ค.
(yarn/npx) auto shipit --dry-run --quiet
๋ ์ด ๊ฒฝ์ฐ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ๋ฒํธ๋ฅผ ๋ณด๊ณ ํ์ง ์์ต๋๋ค.
๋ฒ์ ๋ฒํธ๊ฐ ๋์ปค ์ด๋ฏธ์ง ๋ฐ ๊ธฐํ ์ํฐํฉํธ์ ํ๊ทธ๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ฏ๋ก ๋ค์ด์คํธ๋ฆผ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฌํํ๊ธฐ ์ํด
next
์ ์ฝ์ auto shipit
๋ Github ์์
์์ ์คํ๋ฉ๋๋ค.auto
๊ฐ github์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค.์์๋๋ ํ๋
package.json ์
๋ฐ์ดํธ ๋๋ auto shipit --dry-run
๋ ์ํํ์ฉ ํ๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
ํ๊ฒฝ ์ ๋ณด:
"ํ์ฌ ๋ฒ์ "์ ์ด๋ฏธ ์ฌ๊ธฐ์์ ์๋ชป๋์์ต๋๋ค. ํ์ฌ ํ๊ทธ๋ v0.2.0-next.11์
๋๋ค.
yarn run v1.22.10
$ /home/rwa/Project/####/node_modules/.bin/auto info
Environment Information:
"auto" version: v9.59.1
"git" version: v2.29.0
"node" version: v14.14.0
Project Information:
โ Repository: #####
โ Author Name: Robert Wawrzyniak
โ Author Email: robert.wawrzyniak@###.de
โ Current Version: v0.2.0-next.10
โ Latest Release: v0.1.0 (โhttps://github.com/####/releases/tag/v0.1.0โ)
โ Labels configured on GitHub project
GitHub Token Information:
โ Token: [Token starting with 62de]
โ Repo Permission: admin
โ User: thuringia
โ API: undefined (โundefinedโ)
โ Enabled Scopes: repo
โ Rate Limit: 4772/5000
Done in 3.39s.
Time: 0h:00m:04s
์ถ๊ฐ ์ปจํ
์คํธ
์ด๊ฒ์ #1490๊ณผ ๊ด๋ จ์ด ์์ ์ ์์ต๋๊น?
์ด๊ฒ์ ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
https://github.com/intuit/auto/blob/2f03089f43cc098ac2687c7ab3ca5fd8d2502a1c/plugins/npm/src/index.ts#L869
๋ฒํ๋ ์ฌ๊ธฐ์์ ๊ธฐ๋ณธ ๋ถ๊ธฐ์ ๋ํด์๋ง ์คํ๋์ง๋ง ์ด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ตฌ์ฑ ํ๋๊ทธ๋ ์์ต๋๋ค.
์ด๊ฒ์ ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ ๋๋ค. ๋ฒ์ ์ด ์ปค๋ฐ๋๋ฉด ๋ง์คํฐ๋ก ๋ณํฉํ ๋ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์์ฑ ๋ git ํ๊ทธ๊ฐ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋์๊ฒ๋ ์ํฅ์ ๋ฏธ์น๊ณ ์์ต๋๋ค.
์ด๊ฒ์ ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ ๋๋ค. ๋ฒ์ ์ด ์ปค๋ฐ๋๋ฉด ๋ง์คํฐ๋ก ๋ณํฉํ ๋ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์์ฑ ๋ git ํ๊ทธ๊ฐ ์์ต๋๋ค.
package.json
๋ฒ์ ์ด auto shipit
์ฌ์ฉํ์ฌ CI ๋ฐฐํฌ์ ๋๊ธฐํ๋๋๋ก ํ๊ธฐ ์ํด ๊ถ์ฅ๋๋ ์ ๊ทผ ๋ฐฉ์์ ๋ฌด์์
๋๊น?
@smithki ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ ์ดํดํ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. @thuringia ์ ์ฌ์ฉ ์ฌ๋ก๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฅธ ๊ฒ์ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด ๋ฒ์ ์ด ํ์ํ์ง๋ง ๋์์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋นํ ์ฃผ์ ํฉ๋๋ค. ๋น์ ์ด ๋ฌ์ฑํ๋ ค๋ ๊ฒ์ ์์ธํ ์ค๋ช ํ ์ ์์ต๋๊น?
์ฃ์กํฉ๋๋ค. ์คํด๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฌธ์ ์ ๋ฌธ๊ตฌ์์ next
๋ถ๊ธฐ๋ ์
๋ฐ์ดํธ๋ package.json
๋ฒ์ ์ ๋ฐ์ง ์์ง๋ง main
๋ถ๊ธฐ๋ ๋ฐ์ต๋๋ค(์์ง auto
ํ์ต ์ค โ์ฌ๊ธฐ์์ ์์ ์ด๋ณด์) . ๋ด ์ฌ์ฉ ์ฌ๋ก๋ ์๋ ๋ฌธ์ ์ ๋์ผํ์ง๋ง ๊ตฌ์ฒด์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ฌ package.json
๋ฒ์ ์ด ํ๊ฒฝ ๋ณ์๋ก ์ฝ์
๋ ์ ์๋๋ก NPM ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ _build_ ์๊ฐ์ package.json
๋ฒ์ ์ ์ฝ์ด์ผ ํฉ๋๋ค. ์ฆ, ๋น๋๊ฐ ์คํ๋๊ธฐ ์ ์ package.json
ํ์ผ์ ๋ฒ์ ์ ์ง์ ํด์ผ ํฉ๋๋ค. ๋จ์ํ package.json
๊ฐ์ ธ์ค๋ ๊ฒ์ ํ์ฌ TypeScript ์ค์ ์์ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. ์ด๋ tsconfig.json
rootDirs
์ ์์กดํ๊ณ package.json
๋ rootDirs
ํฌํจ๋์ง ์์ต๋๋ค.
auto
๊ฐ ํ๋ ์ผ์ ํ ์ ์์ต๋๊น? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310
์ด ๋ฌธ์ ์ ์๋ ์ฃผ์ ๋ฅผ ํ์ ์ํค๋ ค๋ ์๋๊ฐ ์๋๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค.
auto๊ฐ ํ๋ ๋๋ก๋ง ํ๋ฉด ๋ ๊น์? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310
๋ถํํ๋ ์ฝ๋๊ฐ ํด๋ผ์ด์ธํธ ์ธก์์ ์คํ๋๋๋ก ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์(ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๋ฉด ์ ๋ฌธ์ ๋ฅผ ์ด๊ฒ ์ต๋๋ค).
์, ๋์๊ฒ ๋ค์ ํ ๋ฒ ํ๋ฅผ ๋์ง๊ณ ๋๋ผ์ด ๋ฐ ํ๋์ ๋นจ๋ฆฌ ๊ณ ์ณ์ผ ํฉ๋๋ค. ๋ค์ ์ฃผ๋ง์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ํผ๋๋ฐฑ๊ณผ auto
์ฌ์ฉ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@hipstersmoothie ๋น ๋ฅธ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค :) ํญ์
๋๋ ์ง๊ธ auto shipit --dry-run --plugins git-tag
๊ฝค ๊ฒฌ๊ณ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ์ด์จ๋ ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ํด ์ด๋ฐ ์์ผ๋ก ๋ค์ ๋ฒ์ ์ ํ์ธํ๋ ๊ฒ์ ์ค์ ๋ก ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋น ๋ฅธ ์์ผ ๋ด์ ํ
์คํธ ์คํ ๊ฐ์ ์ ์๋ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ํํด๋ณด๊ณ ์ถ์ ์นด๋๋ฆฌ์ ๋น๋๊ฐ ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ธฐ๊บผ์ด ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด์จ๋ auto
์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๊ฒ์ ๋ด ์ถ์ ํจ์ฌ ์ฝ๊ฒ ๋ง๋ค์์ต๋๋ค
@thuringia @smithki v10์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง ํ ์คํธํ๊ณ ํ์ธํ ์ ์์ต๋๊น?
@hipstersmoothie ์ด๊ฒ์ v10์์ ์ ์๋ํฉ๋๋ค ๐
๋์ ๋๊ฒ ๋๋ฆฌ๊ฑฐ๋ shipit
์์ด --dry-run
shipit
๋ฅผ ์คํํ๋ ๊ฒ๋งํผ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
์ด๋ ๊ฒ ๋นจ๋ฆฌ ํ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ฒ๊ทธ์ธ์ง ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
yarn add -D auto@next
์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ ๋ auto shipit --dry-run
์คํํ ํ package.json
๋ฐ yarn.lock
๋ํ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฌ๋ผ์ก์ต๋๋ค. v10์ ์ฌ์ ํ node_modules
์์ผ๋ฏ๋ก ์์
๋๋ ํ ๋ฆฌ๊ฐ ์ฌ์ค์ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋์ ๋๊ฒ ๋๋ฆฌ๊ฑฐ๋ --dry-run ์์ด shipit์ ์คํํ๋ ๊ฒ๋งํผ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
๊ฐ์ ํ ์ ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ํ๋ฌ๊ทธ์ธ์ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ค์ ๋ฒ์ ์ ์ธ์ํ๊ธฐ ์ํด ํจ์ฌ ๋ ๋ง์ ์์ ์ ์ํํฉ๋๋ค.
auto shipit --dry-run์ ์คํํ ํ package.json ๋ฐ yarn.lock์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฌ๋ผ์ก์ต๋๋ค.
์ ์ด๊ฒ์ ๋ฒ๊ทธ์ ๋๋ค. ๋๋ผ์ด ๋ฐ์ ๊ฒฝ์ฐ ๊นจ๋ํ ๊ฒ์ฌ๋ฅผ ๊ฑด๋ ๋ฐ์์ง๋ง git reset์ ๊ฑด๋ ๋ฐ์ง ์์์ต๋๋ค.
@thuringia ์ด๋ค ์ ํ์ ํ๋ก์ ํธ๋ฅผ ์ถ์ํฉ๋๊น?
@hipstersmoothie ์ง๊ธ์ ๋๋ผ์ด ๋ฐ์ด ๋๋ ค์ ธ๋ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ ๊ฒ ํฐ ์ฐจ์ด๋ ์๋๋๋ค. ๋ณํ๋ฅผ ๋๋ผ์ ๋ค๋ ๋ง์์ด ๋๋ถ๋ถ์ด์๋๋ฐ ๊ฑฐ๊ธฐ์ ์ด๋ชจํฐ์ฝ์ ์ถ๊ฐํ์ด์ผ ํ๋ ๐
์ฑ๋ฅ ํฅ์์ ํญ์ ํ์ํฉ๋๋ค.
์ด ๊ฒฝ์ฐ์๋ ์ฃผ๋ณ์ ๋๋ค๊ฐ ํฌํจ๋ ๋๋ถ๋ถ์ Java ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑ๋ ํผํฉ ํ๋ก์ ํธ์ ๋๋ค. ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
auto
์ ๊ธฐ๋ณธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๋ค. ๐
์ผ๋ฐ์ ์ผ๋ก ์ค์ ์ด ๋ ๊ฐ์ํ๋ Node ๋๋ React ํ๋ก์ ํธ์ ์ฌ์ฉํ์ง๋ง ์ด ํน์ ํ๋ก์ ํธ์ ํ์ํ ๊ฒ์ฒ๋ผ ์ค์ ๋ก ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฒ์ํ๊ธฐ ์ ์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ป์ ํ์๊ฐ ์์์ต๋๋ค.
:rocket: v10.0.0
์์ ๋ฐํ๋ ๋ฌธ์ :rocket:
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์, ๋์๊ฒ ๋ค์ ํ ๋ฒ ํ๋ฅผ ๋์ง๊ณ ๋๋ผ์ด ๋ฐ ํ๋์ ๋นจ๋ฆฌ ๊ณ ์ณ์ผ ํฉ๋๋ค. ๋ค์ ์ฃผ๋ง์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ํผ๋๋ฐฑ๊ณผ
auto
์ฌ์ฉ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!