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的使用還可以繼續的發掘,這個等以後再去慢慢研究了。

發佈了228 篇原創文章 · 獲贊 201 · 訪問量 111萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章