"generatePackageJson": true
server, admin, client, landing 구조라면 필요한 부분 (server, admin) 에서만 하도록 설정하는 게 일반적입니다.
name: Deploy Server
on:
push:
branches:
- 'develop'
paths:
- 'apps/server/**'
workflow_dispatch:
jobs:
deploy_server:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: npm install --force
- name: Build Project
run: |
nx build server --configuration production
rm -rf c/workspace/프로젝트명/server
mkdir c/workspace/프로젝트명/server
cp -r dist/apps/server c/workspace/프로젝트명/server
cp ecosystem.config.js c/workspace/프로젝트명/server/ecosystem.config.js
cp .env.serve.production c/workspace/프로젝트명/server/.env
cd c/workspace/프로젝트명/server
npm install --production
pm2 restart ecosystem.config.js --update-env
https://docs.github.com/ko/actions/using-workflows/workflow-syntax-for-github-actions
generatePackageJson
속성은 Angular 프로젝트 설정 파일에서 사용되는 속성이 아니며, 기본적으로 Angular CLI에 내장되어 있는 속성이 아닙니다. 따라서 generatePackageJson
속성은 일반적인 Angular 프로젝트 설정 파일에서 지원되지 않습니다.
그런데 이 속성은 NRWL(Nx) 프로젝트의 설정 파일인 nx.json
에서 사용되는 속성입니다. NRWL은 Angular 애플리케이션 및 라이브러리를 관리하고 스케일링하기 위한 도구로, nx.json
설정 파일을 사용하여 프로젝트의 빌드 및 실행 관련 설정을 구성합니다.
generatePackageJson
속성은 주로 Nx 프로젝트에서 사용되며, 다음과 같은 목적으로 사용됩니다:
Package.json 파일 생성: generatePackageJson
속성이 true
로 설정되면, Nx 프로젝트에서 실행할 때 해당 프로젝트에 대한 별도의 package.json
파일이 생성됩니다. 이 파일은 프로젝트의 의존성 관리 및 실행을 위한 설정을 포함합니다. 이렇게 하면 각 Nx 프로젝트가 자체 의존성을 관리하고 구성할 수 있습니다.
독립적인 빌드 및 실행: 각 Nx 프로젝트가 자체 package.json
파일을 가지면, 해당 프로젝트를 독립적으로 빌드하고 실행할 수 있습니다. 이는 대규모 응용 프로그램에서 여러 프로젝트를 동시에 관리하는 데 도움이 됩니다.