要将 REST API (express.js) 上传到测试服务器,我使用 GitLab CI。这个想法是,在提交之后,来自 GIT Lab 的文件被上传到主机,安装包并启动服务器。.gitlab-ci.yml 的代码部分:
stages:
- init
- dev
init:
stage: init
cache:
key: ${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}-npm-${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
script:
- rm ./package-lock.json
- npm install
artifacts:
expire_in: 1 day
paths:
- node_modules/
dev_deploy:
stage: dev
script:
- ls -la
- ssh $SSH_USERNAME_DO@$SSH_HOST_DO "cd .../.../appfolder && NODE_ENV=development node server && exit"
only:
- dev
它不能很好地工作:
每次都安装软件包,这需要很长时间并且每次下载都不需要,是否有可能仅在正确的时间执行此操作?
完全不清楚如何在重新启动之前停止 express.js,换句话说,如何重新启动服务器?



