亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node中怎么實現自動化部署

發布時間:2021-07-21 10:47:57 來源:億速云 閱讀:234 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關Node中怎么實現自動化部署,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

配置腳本

這段腳本內容是我們需要服務器自動執行的

# autoBuild.sh

#! /bin/bash
git reset --hard origin/master
git clean -f
git pull
npm start

注:這段腳本將會自動在服務器中執行

編寫 js 文件執行腳本

由于我使用的是 Github 作為代碼倉庫,所以在這里,我們使用 github-Webhooks-handler 這個庫來實現我們的腳本自動執行工作

按照文檔,我們按照以下方式來編寫 js 文件:

// autoBuild.js
var http = require('http')
var spawn = require('child_process').spawn
var createHandler = require('github-Webhooks-handler')
var handler = createHandler({ path: '/pushCode', secret: '' }) // 在代碼倉庫的 Webhooks 選項處配置
http.createServer(function (req, res) {
 handler(req, res, function (err) {
  res.statusCode = 404;
  res.end('no such location')
 })
}).listen(7777)

handler.on('error', function (err) {
 console.error('Error:', err.message)
})

// 監聽 push 事件
handler.on('push', function (event) {
 console.log('Received a push event for %s to %s',
  event.payload.repository.name,
  event.payload.ref)
 rumCommand('sh', ['./autoBuild.sh'], function( txt ) { // 執行 autoBuild.sh 腳本文件
  console.log(txt)
 })
})

function rumCommand( cmd, args, callback ) {
  var child = spawn( cmd, args )
  var response = ''
  child.stdout.on('data', function( buffer ){ response += buffer.toString(); })
  child.stdout.on('end', function(){ callback( response ) })
}

在 app.js 中,我們將端口設置為 3001,在這里代碼就不放出來了,可以在文末的 Github 鏈接里找到本教程的全部示例代碼

Nginx 配置

由于我們的示例代碼是跑在 3001 端口的,執行自動化部署的 js 文件則跑在 7777 端口,所以我們需要配置一下 Nginx 來啟用這兩個端口:

# 啟用 7777 端口
server {
  listen 7777;
  listen [::]:7777
  server_name huangxizhou.com; #在這里填上你自己的服務器 ip 地址或者域名
  
  root /var/www/html/auto-build;
}

# 啟用 3001 端口
server {
  listen 3001;
  listen [::]:3001
  server_name huangxizhou.com; #在這里填上你自己的服務器 ip 地址或者域名
  
  root /var/www/html/auto-build;
}

這樣一來,Nginx 就配置完畢了,接下來就是代碼倉庫的 Webhooks 配置

Webhooks 配置

首先,我們進入你想實現自動化部署的倉庫,點擊 settings -> Webhooks 來配置

Node中怎么實現自動化部署

在右側,就是配置你的接口地址以及 Secret,對應之前的 js 文件里面的 Secret,選擇 Content type 為 application/json

初始化項目

第一次部署項目,還是需要我們自己手動操作的。

首先提交代碼至代碼倉庫(這里是Github),然后進入服務器執行 git pull

這樣,我們就成功部署了我們 Node 實現自動部署的代碼了

讓我們修改代碼來試試效果怎么樣

git push 之后轉到服務器內一看,完美,成功運行

Node中怎么實現自動化部署

再看看 Github

Node中怎么實現自動化部署

上述就是小編為大家分享的Node中怎么實現自動化部署了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云南省| 阿拉善左旗| 竹溪县| 临西县| 尉氏县| 汉源县| 绿春县| 崇阳县| 阿巴嘎旗| 宜兰县| 黎平县| 石屏县| 太和县| 合作市| 龙泉市| 福泉市| 新宾| 乾安县| 肃南| 阿克| 桃源县| 灯塔市| 信宜市| 库尔勒市| 丹阳市| 麦盖提县| 崇礼县| 新建县| 天长市| 莱西市| 卫辉市| 平邑县| 乐山市| 资中县| 高密市| 福泉市| 汨罗市| 蛟河市| 水城县| 临高县| 凤阳县|