Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 한글
- Portfolio
- 안드로이드
- 컴퓨터과학총론
- javascript
- MySQL
- unity
- 개발자
- 프래그먼트
- H2O
- C
- server
- caddy
- kakao
- mariadb
- C lanuage
- php
- NGINX
- 자바
- 개발
- java
- 구글
- centOS7
- it
- 번역
- ubuntu
- android
- error
- techEmpower
- 해석
Archives
- Today
- Total
개발모음집
express github webhook settings 본문
app.js
let crypto = require('crypto');
app.post('/push', (req, res) => {
console.log('[LOG] request received');
res.status(400).set('Content-Type', 'application/json');
let jsonString = JSON.stringify(req.body);
let hash = "sha1=" + crypto.createHmac('sha1', secret).update(jsonString).digest('hex');
if (hash != req.get('x-hub-signature')) {
console.log('[ERROR] invalid key');
let data = JSON.stringify({"error": "invalid key", key: hash});
return res.end(data);
}
console.log("[LOG] running hook.sh");
let deploySh = spawn('sh', ['hook.sh']);
deploySh.stdout.on('data', function (data) {
let buff = new Buffer(data);
console.log(buff.toString('utf-8'));
});
let data = JSON.stringify({"success": true});
console.log('[LOG] success!!');
return res.status(200).end(data);
});
hook.sh
REPOSITORY = "/server/SeniorCameraBackend" // REPOSITORY 변수에 git pull 받고자 하는 repository 설정
cd $REPOSITORY // 해당 디렉토리로 이동
git pull origin master // git pull
github 설정
참고 : https://github.com/cliche90/webhook_autopull, https://velopert.com/739
'Server > node.js' 카테고리의 다른 글
Compare data stored as password_hash in PHP with js (0) | 2020.03.23 |
---|---|
nodejs-mysql sql table name parameter값넘기는 방법 (0) | 2020.03.17 |
package-lock.json error (0) | 2020.01.09 |
express mysql2 connection.execute()의 results 값 return 하기 (0) | 2020.01.08 |
socket.io 관련 코드들 (0) | 2019.12.25 |