# Front 웹 개발 후 서버 배포 방법 (Local)
## 1. .NET 실행 설정 프로파일 동작
- 단순하게 run 하는 방식으로 `./bin/Debug/net8.0/` 밑에 프로젝트 결과가 생성된다.
- `./wwwroot` 내부에 있는 정적리소스들을 활용하여 웹 페이지를 보여준다.
- 해당 방법은 단순하게 서버에도 연결하지 않고 그냥 Front 로컬로 사용하는 방법이다.

## 2. package.json 에서 npm 스크립트 실행
- `dotnet publish -c Release -o ./publish` 를 실행해서 ./publish 밑에 결과물을 생성한다.
  - 그런데 npm에서는 dotnet이 실행 할 수 없기에 직접 dotnet의 경로를 지정해서 해야한다.
  - ./publish 폴더를 퍼블리시 동작마다 삭제를 안해주면 계속 중첩해서 추가가 되기에 일단 삭제를 하는 동작을 해줘야 한다.
- Front 프로젝트의 퍼블리시를 위해서는 Tailwind CSS 를 사용하기에 `build:css`를 먼저 실행해준다.
- 그리고 `build:publish` 를 실행하면서 `./publish` 폴더를 삭제하고 다시 퍼블리시를 한다.
- 마지막으로 생성된 `./publish/wwwroot` 폴더 안에 내용 전부를 `../AcaMate_API/publish/debug/wwwroot` 폴더에 복사한다.

# Front 웹 개발 후 서버 배포 방법 (SERVER)
## 1. Development, Production 공통
- `build:css` 실행을 먼저 진행을 해주고 나서 Local로 테스트를 진행한다.
- 이상 없음이 판단 되면 gitea 에 push 를 해준다.
- Jenkins 동작을 하게 될 경우 서버 저장소에 클론을 하게 된다.
  - 기존에 있는 데이터는 삭제하지 않기에 만약에 충돌이 있는 경우가 있다.
  - 기존 디렉터리와 비교해서 맞지 않는 코드의 경우에는 수동으로 삭제를 진행한다.
    - `acamate-front-build-debug` 또는 `acamate-front-build-relase` 컨테이너를 수동으로 실행시켜 준다.
- private repository 나 따로 직접 서버에 반영을 해야 하는 리소스가 있는 경우에는 직접 넣어준다.
  - `acamate-front-build-debug` 또는 `acamate-front-build-relase` 컨테이너를 수동으로 실행시켜 준다.