使用Angular Cicd Jenkins和Docker的最佳实践

jqjz2hbq  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(96)

我正在为我的angular ui设置cicd pipeline,并困惑构建命令是否应该在jenkins或docker构建中运行。
我见过在jenkinsfile中运行build命令的地方,只有dist文件夹被复制到docker镜像中,在其他地方,它们也会在docker中构建。这方面的良好做法是什么?

cwdobuhd

cwdobuhd1#

我一直在思考同一个问题,但没有明确的答案。这两种方法都有效。不过,在Dockerfile方法中构建有一个优势。如果我们考虑以下Dockerfile示例格式:

FROM node:20-alpine AS build
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build

<continues>

Docker为缓存的npm install创建了一个单独的层。在此之后,后续的构建不需要创建它,只需要创建具有完整源代码的那个。
对于Jenkins,要么npm install必须在每个构建中都完成,要么npm环境应该在不同的构建之间持久化。这两种解决方案都不像Dockerfile那样优雅。

相关问题