Gitlab CI节点_模块问题
我有两个管道和两个作业,一个作业是安装我的npm包,另一个是捆绑和部署。当我合并请求时,我有一个管道在主机上运行,另一个管道是通过Webhook触发的。我的合并请求可以正常工作,但webhook不能,我注意到以下区别: 在我的合并请求中,我的npm包正在安装并查找所有必需的包/文件,但在我的webhook触发器中,即使它使用相同的提交和分支,它似乎也没有安装所有的包 即使它们在同一个分支中并使用相同的提交,但一个是合并请求,而另一个是管道触发器,这种情况还会发生吗?我有什么遗漏吗?谢谢 下面是失败的工作Gitlab CI节点_模块问题,gitlab,gitlab-ci,Gitlab,Gitlab Ci,我有两个管道和两个作业,一个作业是安装我的npm包,另一个是捆绑和部署。当我合并请求时,我有一个管道在主机上运行,另一个管道是通过Webhook触发的。我的合并请求可以正常工作,但webhook不能,我注意到以下区别: 在我的合并请求中,我的npm包正在安装并查找所有必需的包/文件,但在我的webhook触发器中,即使它使用相同的提交和分支,它似乎也没有安装所有的包 即使它们在同一个分支中并使用相同的提交,但一个是合并请求,而另一个是管道触发器,这种情况还会发生吗?我有什么遗漏吗?谢谢 下面
production_publish:
stage: publish
before_script:
- npm config set registry https://npm.ef.com/
- npm config set //npm.ef.com/:_authToken ${EF_NPM_TOKEN}
script:
- npm install
- npm run bundle
- node ./devops/deployStatic
only:
refs:
- pipelines
- master
variables:
- $NODE_ENV == "production"
except:
refs:
- staging
- pushes
- merge_requests
tags:
- storyblok
- prod
下面是工作正常的工作
install:
stage: install
script:
- npm config set registry https://npm.ef.com/
- npm config set //npm.ef.com/:_authToken ${EF_NPM_TOKEN}
- npm install
cache:
key: ${CI_COMMIT_REF_NAME}-${CI_JOB_NAME}
paths:
- node_modules/
artifacts:
paths:
- node_modules/
expire_in: 1 mos
only:
refs:
- master
except:
refs:
- triggers
- staging
tags:
- storyblok
- prod
e1_id_production_deploy_next_server:
stage: deploy
before_script:
- export COMMIT_TIME=$(git show -s --format=%ct $CI_COMMIT_SHA)
- export COMMIT_TAG=$(git show -s --format=%H $CI_COMMIT_TAG)
- export PRODUCT=$(echo $CI_JOB_NAME | cut -d '_' -f 1)
- export REGION=$(echo $CI_JOB_NAME | cut -d '_' -f 2)
- export NODE_ENV=$(echo $CI_JOB_NAME | cut -d '_' -f 3)
- apt-get update && apt-get install -y zip
script:
- npm run build
- zip ./builds/server_build_$COMMIT_TAG.zip -rq * .[^.]* .next/\* -x out/\* -x .git/\*
- node ./devops/deployServer
only:
refs:
- master
except:
- triggers
tags:
- storyblok
- prod
dependencies:
- install
主要的问题再次出现在两种情况下的npm安装中,对于第一种情况,它似乎没有安装我的所有软件包。提前感谢您的帮助我明白了,主要问题是在devdependences中设置的某些包中
我发现,主要问题是在devdependences中设置的某些包中
还有一种可能您没有提到,如果没有package-lock.json和clean安装(
npm ci
),缓存文件的数量将不一致。还有一种可能您没有提到,如果没有package-lock.json和clean安装,缓存文件的数量将不一致(npm ci
)。