node.js - 如何在每次提交时自动将服务器上的 git 存储库克隆到另一个文件夹
问题描述
我有一个简单的 express.js 驱动的 API,在带有 pm2 的 ubuntu 服务器上运行。和server.js
其他文件在/var/www/node/api/
.
在这台服务器上,at/srv/git-repos/api.git/
是我的 git 存储库,我从本地机器提交新的更改。
问题是,是否有可能,每次我向服务器提交新更改时,它都会识别出这一点,并克隆我的存储库,让我们说/var/www/node/api-dev/
(然后可以在 dev.example.com 上使用,这可以通过 nginx 实现,所以没有问题)并使用 重新启动我的 pm2 实例pm2 restart api
。
因为那时我会测试,如果我的更改在服务器上有效,当他们这样做时,我可以手动将内容复制/var/www/node/api-dev
到。/var/www/node/api
还是有其他更好的工作流程?它只是一个小的 API,我将在上面进行许多更改,因为我想开发它以满足我的前端需求。
感谢您的回答和建议,我希望我想要存档的内容是可以理解的。
解决方案
git commit
git clone <repo> ../api-dev
pm2 restart api
将其保存为 c.sh 并使用 ./c.sh 运行或添加到您的 .bashrc
推荐阅读
- java - 使用 PdfBox 添加页面后尝试保存 PDF 时出现“IOException:COSStream 已关闭且无法读取”
- oracle - RHEL7.5中Oracle 11gR2安装运行级别问题
- raspberry-pi3 - 如何导入 Adafruit_GPIO.SPI
- facebook - Facebook Auth:需要哪些授权重定向 URI?
- docker - 从 /var/lib/docker/aufs/diff/ 中删除的文件
- python - python xmlrpc中的metaWeblog
- ios - iOS:“.03 小时”文本的旁白不正确
- docker - 天蓝色管道中的 npm run build 不会在天蓝色存储库中创建构建文件夹?
- python - matplotlib.pyplot.quiver 绘制巨大的箭头,'scale' 或 'width' 作为参数,给出“'Line3DCollection' 对象没有属性 'units'”错误
- android - 从我的改造响应中获取单个键值对