緣由
最近一個朋友說想做一個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
。
總結
其實這裏關於WebHook
和child_process的使用還可以繼續的發掘,這個等以後再去慢慢研究了。