Node.js之child_process的实践码云WebHooks

缘由

最近一个朋友说想做一个APP的壳子,里面嵌套H5的页面。 所以我就帮他搞了,APP的壳子找的安卓的同事写的,H5的页面的web 服务帮他搭建好了。但是又不能因为H5的页面代码更新要我每次去服务器上拉去代码,所以就像,能不能在每次提交代码之后就自动拉去代码。这里就是WebHooks的使用了。
其实在很早就知道这个东西,只是一直没实践过。这次实践之后发现实现功能还是很简单的,下面就记录下来。

码云的设置

您的项目-管理-WebHooks
在这里插入图片描述
在URL栏中输入接口地址,在选择事件中选择需要的事件,我只勾选了push
这里设置之后可以测试的,这个是后续的事情。

接口实现

下面的代码需要结合我之前的Node.js系列文章一起看。


var express = require('express');
var router = express.Router();
var process = require('child_process');
router.all('/webhook/index', function(req, res, next) {
	process.exec('cd /home/manage && git pull',
	  function (error, stdout, stderr) {
			if (error !== null) {
				console.log('exec error: ' + error);
			}
		});
	res.end(JSON.stringify({
		msg: 'webhook/index',
		status: 100,
		res: 'res'
	}));
})
module.exports = router;

这里其实就是child_process模块的一个简单使用。
代码push之后会调用这个接口,再执行命令,先到制定的目录再执行git pull

总结

其实这里关于WebHookchild_process的使用还可以继续的发掘,这个等以后再去慢慢研究了。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页