From b3a0bb2017a6c0d8204e1eb243583ed71dff3aa7 Mon Sep 17 00:00:00 2001 From: MaxSorokin Date: Tue, 19 Nov 2024 17:25:43 +0300 Subject: [PATCH] fix: docker build with disable aot --- README.md | 19 +++++++------------ docker-build/Dockerfile | 7 +++---- docker-build/build.sh | 8 ++++---- package.json | 4 +++- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 91a8133..57b5540 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,5 @@ # Palladium -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) -version 1.0.0. - ## Development server Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. @@ -15,22 +12,20 @@ You can also use `ng generate directive/pipe/service/class/module`. ## Build -Run `ng build` to build the project. The build artifacts will be stored +Run `ng build` to build the project (By default use `--configuration production` flag). The build artifacts will be stored in the `dist/` directory. -Use the `-prod` flag for a production build. -## Build with docker +### Build aot disable -Run `./docker-build/build.sh` to build the project without dependencies. +Run `build-aot-disable`. Just-in-Time (JIT) Compiles your application in the browser at runtime. -## Running unit tests +### Build with docker -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). +Run `./docker-build/build.sh` or `npm run build-aot-disable` to build the project via docker container. -## Running end-to-end tests +## Running unit tests -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). -Before running the tests make sure you are serving the app via `ng serve`. +Install dependensies and run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). ## Further help diff --git a/docker-build/Dockerfile b/docker-build/Dockerfile index 46395e4..dae8880 100644 --- a/docker-build/Dockerfile +++ b/docker-build/Dockerfile @@ -1,10 +1,9 @@ FROM node:16.17.1-buster -RUN mkdir /palladium-view -COPY . /palladium-view WORKDIR /palladium-view +COPY . . RUN npm install -g @angular/cli --unsafe-perm && npm install +RUN npm run build-aot-disable -ENTRYPOINT ["ng"] -CMD ["build", "--aot=false", "--configuration production"] +CMD [ "ls", "-l", "dist" ] diff --git a/docker-build/build.sh b/docker-build/build.sh index fd6b8bc..462ba81 100755 --- a/docker-build/build.sh +++ b/docker-build/build.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -docker build -t palladium_view_builder . -docker run -itd --rm --name palladium_view_builder palladium_view_builder /bin/bash -docker cp palladium_view_builder:/palladium-view/dist ./ -docker stop palladium_view_builder +docker build -t palladium_view_builder -f docker-build/Dockerfile . +docker run -it --name palladium_view_builder_tmp palladium_view_builder +docker cp palladium_view_builder_tmp:/palladium-view/dist . +docker rm palladium_view_builder_tmp diff --git a/package.json b/package.json index cfb80f8..d0837b4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "ng": "ng", "start": "ng serve --host 0.0.0.0 --port 80", "serve": "ng serve --host 0.0.0.0 --port 4200", - "build": "ng build --aot=true --configuration production", + "build": "ng build --configuration production", + "build-aot-disable": "ng build --configuration production --aot=false --build-optimizer=false", + "docker-build": "/bin/bash docker-build/build.sh", "postinstall": "ngcc" }, "private": true,