- Notifications
You must be signed in to change notification settings - Fork 3
π¦ Changeset CI CD
changesetμ λͺ¨λ Έλ ν¬ νκ²½(monorepo)μμ μνΈ μμ‘΄νλ ν¨ν€μ§λ€μ μΌκ΄μ±μ μ μ§νκΈ° μν λΌμ΄λΈλ¬λ¦¬μ λλ€. μ¬λ¬ μμ‘΄λ ν¨ν€μ§λ€μ μ λ°μ΄νΈν λ λ§λ€ μλμΌλ‘ Semverκ·μΉμ λ°λΌ λ²μ μ κ΄λ¦¬ν΄μ£Όκ³ κ°νΈν λͺ λ Ήμ μ ν΅ν΄ μμ½κ² λ μ§μ€νΈλ¦¬μ λ°°ν¬κ° κ°λ₯ν©λλ€. μ΄λ―Έ νλ‘μ νΈκ° λͺ¨λ Έλ ν¬ νκ²½μΌλ‘ ꡬμ±λμ΄ μκΈ° λλ¬Έμ, κΈ°μ‘΄ νλ‘μ νΈ νκ²½μμ μ μ©νκΈ° μ½κ³ , CI/CD μ§μμ μ 곡νλ λΌμ΄λΈλ¬λ¦¬μ μ ν©ν Changesetμ μ ννκ² λμμ΅λλ€.
.changeset/config.json
μμ νλ‘μ νΈ νκ²½μ λ§κ² νκ²½μ€μ μ ꡬμ±νμμ΅λλ€.
{ "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": "@changesets/cli/changelog", "commit": false, "fixed": [], "linked": [], "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", "ignore": [] }
- access: μ‘μΈμ€ κΆν μ€μ (restricted, public)
- baseBranch: λ³κ²½ κ°μ§λ₯Ό μν λμ λΈλμΉ
- updateInternalDependencies: μ’
μλ ν¨ν€μ§κ° λ³κ²½λ λ κ°μ΄ μ
λ°μ΄νΈ
patch
- commit:
false
λ₯Ό ν΅ν΄ μ¬μ©μκ° μ§μ 컀λ°
GitHub Actionsλ₯Ό ν΅ν΄ main λΈλμΉμ mergeκ° λ λ λ§λ€ νμ ν¨ν€μ§λ€μ λΉλνμ¬ λ°°ν¬νλ CI/CDλ₯Ό ꡬμΆνμμ΅λλ€. NPM λ μ§μ€νΈλ¦¬ λ°°ν¬ κ³Όμ μ€μ workspace:range
λ₯Ό λ³ννμ§ λͺ»νλ μ΄μκ° μμ΄ yarn pack
μ ν΅ν΄ ν¨ν€μ§ ν λ€μ λ³λμ λλ ν λ¦¬λ‘ μ΄λ&μμΆν΄μ ν λ°°ν¬νκ²λ νμ¬ μ΄μλ₯Ό ν΄κ²°νμμ΅λλ€. μ°Έκ³
{ "name": "jdesignlab", "version": "1.0.2", "packageManager": "yarn@3.3.1", "homepage": "https://github.com/DesignSystemLab/design-system", "scripts": { ... "allpackages": "yarn workspaces foreach --no-private --verbose", "build": "yarn workspaces foreach run build", "build:release": "yarn allpackages exec rm -rf _release && yarn allpackages pack && yarn allpackages exec \"mkdir _release && tar zxvf package.tgz --directory _release && rm package.tgz\"", "version": "changeset version", "release": "yarn build:release && changeset publish" }, "workspaces": [ "packages/*" ], "devDependencies": {...}, "dependencies": {...} }