Jenkins CI パイプラインで NPM パッケージに JFrog Artifactory を使用しています。Dockernpm ci/npm install
ビルド プロセスの所要時間を短縮するためのステップとして、CI で Docker イメージをビルドする際に、Artifactory から npm パッケージをダウンロードしたいと考えています。
以下のよう.npmrc
に、プライベートレジストリ情報を含むファイルをローカルから docker コンテナーにコピーしてみました。npm install のログを確認すると、JFrog Artifactory から依存関係をダウンロードできました。しかし、これは安全なアプローチではありません。 .npmrc をローカル リポジトリに保持して VCS にコミットしたくありません。
これを行うための最良のアプローチは何ですか?
Dockerfile
FROM node:12.21.0-alpine3.12 AS builder
WORKDIR /usr/src/app
ARG NPM_TOKEN
ARG NODE_ENVIRONMENT=development
ENV NODE_ENV=$NODE_ENVIRONMENT
COPY package.json /usr/src/app/package.json
COPY package-lock.json* .
COPY .npmrc /usr/src/app/.npmrc
RUN npm ci --loglevel verbose
RUN rm -f .npmrc
FROM node:12.21.0-alpine3.12
WORKDIR /usr/src/app
RUN apk update && apk add curl
COPY --from=builder /usr/src/app /usr/src/app
COPY . .
EXPOSE 50005 9183
CMD [ "npm", "run", "start:docker" ]
.npmrc
registry=https://artifacts.[company].com/artifactory/api/npm/team-npm-development-virtual
_auth = xxxxxxxxxx
always-auth = true
email = firstname.lastname@company.com