deploy.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. const http = require('http')
  2. const createHandler = require('gogs-webhook-handler')
  3. const handler = createHandler({ path: '/webhook', secret: 'myhashsecret' })
  4. const process = require('child_process')
  5. http.createServer((req, res) => {
  6. handler(req, res, err => {
  7. res.statusCode = 404
  8. res.end('webhook is running~~')
  9. })
  10. }).listen(8088)
  11. handler.on('error', err => {
  12. console.error('Error:', err.message)
  13. })
  14. handler.on('push', event => {
  15. try{
  16. process.execSync('git reset --hard origin/master')
  17. process.execSync('git clean -f')
  18. process.execSync('git pull')
  19. process.execSync('git checkout master')
  20. } catch (e) {
  21. process.execSync('git checkout -- "*"')
  22. process.execSync('git pull')
  23. }
  24. process.execSync('now')
  25. process.execSync('now alias https://my-docz-project.chenxixian.now.sh docz.chenxixian.cn')
  26. })
  27. handler.on('issues', event => {
  28. console.log('Received an issue event for %s action=%s: #%d %s',
  29. event.payload.repository.name,
  30. event.payload.action,
  31. event.payload.issue.number,
  32. event.payload.issue.title)
  33. })