<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 前言 如果你不想人肉的去操作命令行,可以設置下webhook,目前的github以及gitlab都支持這項設置。原理就是獲取github的源碼事件類型,然后基于服務器的服務通訊執行shell命令。 ## 教程 ### 準備一個github or gitlab的項目 * 將項目在linux服務器上通過git下載下來 * 設置webhook,需要設置的有: 請求的url,令牌(token), 觸發的類型:push,delete等等,為了及時的更新,我設置的是commit提交便觸發 應用類型:application/json類型 做相關的記錄和提醒。 ### 準備一個可以外網訪問的服務器(linux系統) 我們以node作為服務器,來實現shell腳本以及命令。參考源碼如下:需要同步的項目和同步相關的命令可以自己執行,目前參考代碼里僅有切換到項目目錄,做更新的操作,如果需要的話,可以加上構建的過程,比如npm build,這樣就可以做到實時構建發布。 ~~~ var http = require('http') , exec = require('exec') const PORT = 9001 , PATH = '/home/ucmed/wwwroot/webhookDemo' var deployServer = http.createServer(function(request, response) { if (request.url.search(/deploy\/?$/i) > 0) { var commands = [ 'cd ' + PATH, 'git pull' ].join(' && ') exec(commands, function(err, out, code) { if (err instanceof Error) { response.writeHead(500) response.end('Server Internal Error.') throw err } process.stderr.write(err) process.stdout.write(out) response.writeHead(200) response.end('Deploy Done.') }) } else { response.writeHead(404) response.end('Not Found.') } }) deployServer.listen(PORT) ~~~ 備注:使用secret,那么需要設置安裝 `github-webhook-handler`,操作比較復雜,建議使用上面的方法即可。 * [參考使用github-webhook-handler鏈接](http://www.jianshu.com/p/e4cacd775e5b) ### 啟動服務 * 簡單調試啟動,開發狀態啟動(窗口關閉之后,服務失效) `node server.js` * 熱啟動,一直進行 ~~~ // 設置后臺執行,簡單用法 nohup node server.js ~~~ * forever 模塊,永久啟動模塊 ~~~ $ cnpm install -g forever //永久啟動模塊 會提示沒有設置時間,不影響實際運行 $ forever start deploy.js $ forever list //關閉某個具體進程 $ forever stop 1 //關閉后的日志(其中14039 為進程的id) info: Forever stopped process: uid command script forever pid id logfile uptime [0] jxSu /home/soft/nvm/versions/node/v7.4.0/bin/node /home/ucmed/wwwroot/server/server.js 14033 14039 /home/ucmed/.forever/jxSu.log 0:0:5:1.993 $ forever restartall // 查看所有的日志 forever logs //查看日志實時打印 tail -f xxx.log ~~~ * [參考forever模塊介紹](https://npm.taobao.org/package/forever)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看