我有两个带有两个作业的管道,一个作业是安装我的npm软件包,另一个是捆绑和部署。当我合并请求时,我有一个在主服务器上运行的管道,而另一个通过webhooks触发的管道在运行。我的合并请求可以正常工作,但是webhook不能,并且我注意到以下区别:
在我的合并请求中,我的npm软件包正在安装并找到所有必要的软件包/文件,但是在我的webhook触发器中,即使它使用相同的提交和分支,也似乎并没有安装所有软件包。
Image where it seems it’s not installing the same number of packages
即使它们在同一分支中并且使用相同的提交,但有一个原因是为什么我们会发生这种情况,但一个是合并请求,而另一个是管道触发器?我有什么想念的吗?谢谢。
下面是失败的工作
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安装,对于第一种情况,似乎并没有安装我的所有软件包。提前感谢您的帮助
答案 0 :(得分:0)
我知道了,主要问题是在devDependencies中设置了某些软件包。