Node.js 从docker容器内部发布NPM包
我拼命想把我的NPM包发布到我们的NPM回购协议上。 我不断收到一个错误,说我的工作目录不干净,我不能让我的头围绕它 这是我的Dockerfile:Node.js 从docker容器内部发布NPM包,node.js,git,docker,npm,Node.js,Git,Docker,Npm,我拼命想把我的NPM包发布到我们的NPM回购协议上。 我不断收到一个错误,说我的工作目录不干净,我不能让我的头围绕它 这是我的Dockerfile: FROM node:12 ARG VERSION COPY .npmrc /root/.npmrc COPY .gitconfig /root/.gitconfig COPY .git-credentials /root/.git-credentials WORKDIR /home/node/app/ COPY package.json p
FROM node:12
ARG VERSION
COPY .npmrc /root/.npmrc
COPY .gitconfig /root/.gitconfig
COPY .git-credentials /root/.git-credentials
WORKDIR /home/node/app/
COPY package.json package.json
RUN npm install
COPY . .
RUN npm run release:testless -- ${VERSION}
package.json:
"scripts": {
"prepare": "npm run prepare:util",
"prepare:util": "npm explore vl-ui-util -- npm run install:copy",
"test": "wct -l chrome,firefox --npm",
"release": "npm run release:prepare && np",
"release:prepare": "npm run release:prepare:build",
"release:prepare:build": "npm run build",
"release:prepare:commit": "git add -f vl-map.js && git commit --amend --no-edit && git pull",
"release:testless": "npm run release:prepare && np --yolo",
"demo": "npm run dev",
"dev": "concurrently \"npm:bundle:watch\" \"http-server\"",
"build": "npm run bundle:build",
"bundle:watch": "rollup --config rollup.config.js --watch",
"bundle:build": "rollup --config rollup.config.js"
}
这导致:
npm ERR! Git working directory not clean.
我通过在容器内进行克隆来解决问题,而不是让Bambol进行克隆并将我的所有源文件复制到容器中。我通过在容器内进行克隆来解决问题,而不是让Bambol进行克隆并将我的所有源文件复制到容器中。好吧,你已经在,显然包括了
.git/
目录,然后在其中构建了一些新文件。也许你看,我不会把这个放在我的档案里。如果我有一些已经在本地验证过的更改,并且我正在尝试构建一个Docker映像,以便在真正部署之前对其进行测试,那么我不希望将未经充分测试的代码发布到NPM。我也不希望人们从我构建的映像中删除有效的GitHub凭据。在Docker外部运行此操作。@jonrsharpe如果我不在.git文件夹中复制,我将无法在容器内执行任何git操作,因为它将不会被识别为git repo。在David,它是在没有节点环境的Bambol上运行的,因此它必须构建在具有节点环境的容器中。您已经复制了其中的所有内容,显然包括.git/
目录,然后在其中构建了一些新文件。也许你看,我不会把这个放在我的档案里。如果我有一些已经在本地验证过的更改,并且我正在尝试构建一个Docker映像,以便在真正部署之前对其进行测试,那么我不希望将未经充分测试的代码发布到NPM。我也不希望人们从我构建的映像中删除有效的GitHub凭据。在Docker外部运行此操作。@jonrsharpe如果我不在.git文件夹中复制,我将无法在容器内执行任何git操作,因为它将不会被识别为git repo。在David,它是在没有节点环境的竹子上运行的,因此它必须构建在具有节点环境的容器中。