gitlab ci 为什么它在获取更改时删除node_modules以及我们如何跳过删除

Adi*_*ter 6 continuous-integration node.js node-modules gitlab docker

我有用于nodejs应用程序的gitlab ci工作我正在使用docker容器来运行node-version 8。另外,我正在将gitlab构建目录安装到docker。当我在 docker node_modules 内执行 npm install 时,获得 root 权限。当构建目录被安装时,新的“node_modules”在构建目录中可见。当 gitlab-runner 尝试获取新更改并在获取它时删除 node_modules 但它给出权限被拒绝和作业停止时,就会出现问题。我尝试使用缓存和工件来跳过node_module,但没有成功。我还尝试在脚本前后更改 gitlab-ci.yml 中 node_modules 的权限。

错误

使用 Shell 执行程序...在 servername 上运行... 00:00 正在获取更改... 00:00 警告:无法删除 app/node_modules/accepts/LICENSE:权限被拒绝警告:无法删除 app/node_modules/accepts/HISTORY .md:权限被拒绝警告:无法删除app/node_modules/accepts/README.md:权限被拒绝警告:无法删除app/node_modules/accepts/index.js:权限被拒绝警告:无法删除app/node_modules/accepts/ package.json:权限被拒绝警告:无法删除app/node_modules/lodash/_baseUnary.js:权限被拒绝警告:无法删除app/node_modules/lodash/_baseGetTag.js:权限被拒绝警告:无法删除app/node_modules/lodash /_baseRange.js:权限被拒绝警告:无法删除 app/node_modules/lodash/_baseIteratee.js:权限被拒绝警告:无法删除 app/node_modules/lodash/_baseReduce.js:权限被拒绝警告:无法删除 app/node_modules/ lodash/_baseConformsTo.js:权限被拒绝