eb Deploy 前端自動化部署平臺,一個專門部署 Web 前端的自動化部署平臺,相較于強大的 Jenkins 配置更加簡單、使用更加方便快捷!支持發布版本回滾、各種 Web 的跨域部署等,目前此平臺支持靜態資源、 Vue、React 項目部署,以及自動遠程服務部署。
主要功能點
【?】前端項目靜態部署,指部署打包后的靜態資源(已完成)
【?】git 自動部署,包括 github、gitlab、gitee 代碼托管平臺關聯部署(已完成)
【?】項目版本回滾部署,每個版本間可以進行切換部署(已完成)
【?】支持多個項目部署,各項目之間互不影響(已完成)
【?】各項目支持跨域(多個)請求部署(已完成)
【?】支持 OAuth(github、gitlab、gitee)第三方登錄(已完成)
【?】支持項目部署服務的暫停/啟動(已完成)
【?】支持自動部署服務的暫停/啟動(已完成)
【?】支持部署項目的 history/hash 訪問模式(已完成)
【新增】支持私有倉庫自動化部署
【新增】支持遠程靜態部署、Git 自動部署(已完成)
Linux操作系統(Centos 或者 Ubuntu)、Node環境、PM2、Git、MongoDB數據庫。
yum install git
確認Git已經安裝成功
git version
若出現版本號則安裝成功!
wget https://nodejs.org/dist/v13.1.0/node-v13.1.0-linux-x64.tar.xz
xz -d node-v13.1.0-linux-x64.tar.xz
tar -xvf node-v13.1.0-linux-x64.tar.xz
Nodejs 安裝成功后配置一下環境變量,即可。
node -v
npm -v
若出現版本號則安裝成功!
npm install -g pm2
確認pm2已經安裝成功
git -v
若出現版本號則安裝成功!
//下載mongodb包
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.1.tgz
//解壓mongodb包
tar xzvf mongodb-linux-x86_64-rhel70-4.0.1.tgz
//重命名
mv mongodb-linux-x86_64-rhel70-4.0.1 mongodbserver
以 Linux CentOS 7 為例
git clone https://github.com/zlluGitHub/web-deploy.git
node ./lib/www
或者使用 pm2 使進程常駐后臺
git clone https://github.com/zlluGitHub/web-deploy.git
pm2 start ./lib/www --name=web-deploy
{
"database": {
"name": "SimpleDesignNew", //數據庫名稱
"port": "27017", //數據庫端口
"ip": "127.0.0.1", //數據庫ip
"username": "", //用戶名
"password": "" //用戶密碼
},
"port": 80, //項目啟動端口
"oauth": { // 第三方登錄相關配置
"github": {
"state": false, //如需開啟請設置成 true ,默認 false
"client_ID": "", // 客戶ID
"client_Secret": "", // 客戶密匙
"access_token_url": "https://github.com/login/oauth/access_token", // 獲取 access_token 地址
"authorize_url":"",
"user_info_url": "https://api.github.com/user", // 獲取用戶信息
"name": "你的github賬號名稱"
},
"gitee": {
"state": false, //如需開啟請設置成 true ,默認 false
"client_ID": "", // 客戶ID
"client_Secret": "", // 客戶密匙
"headers": { //請求頭配置
"User-Agent": "你的gitee用戶名"
},
"authorize_url":"",
"access_token_url": "https://gitee.com/oauth/token",// 獲取 access_token 地址
"user_info_url": "https://gitee.com/api/v5/user" // 獲取用戶信息
},
"gitlab": {
"state": false, //如需開啟請設置成 true ,默認 false
"client_ID": "", // 客戶ID
"client_Secret": "", // 客戶密匙
"authorize_url":"",
"access_token_url": "", // 獲取 access_token 地址
"user_info_url": "" // 獲取用戶信息
}
}
}
此平臺已支持 github、gitlab、gitee 這三種登錄方式,首先,需要在根目錄下找到 config.json 配置文件,添加如下內容(根據自身需求添加即可)
{
...
...
"oauth": {
"github": {
"state": true,
"client_ID": "",
"client_Secret": "",
"authorize_url":"",
"access_token_url": "",
"user_info_url": "",
"name": ""
},
"gitee": {
"state": true,
"headers": {
"User-Agent": ""
},
"client_ID": "",
"client_Secret": "",
"authorize_url":"",
"access_token_url": "",
"user_info_url": ""
},
"gitlab": {
"state": true,
"client_ID": "",
"client_Secret": "",
"authorize_url":"",
"access_token_url": "",
"user_info_url": ""
}
}
}
屬性說明
這種部署適用于一些靜態資源的部署,部署方式如下:
1、填寫(選擇)項目名稱;
2、填寫你要部署的根目錄;
3、若部署項目存在跨域問題,可在這里填寫代理地址(選填);
4、點擊上傳你要部署的項目打包目錄文件;
5、填寫項目的部署摘要內容;
6、點擊提交部署即可;
1、填寫(選擇)項目名稱;
2、填寫你要部署的根目錄;
3、若部署項目存在跨域問題,可在這里填寫代理地址(選填);
4、填寫你要部署的項目的 Git 地址;
5、填寫你要部署的項目的 Git 分支,默認 master;
6、填寫項目的打包部署命令,例如:npm run build;
7、根據項目實際的打包目錄為準,默認:dist;
8、填寫項目的部署摘要內容;
9、點擊提交部署即可;
注意:此部署方式部署時間會根據項目的大小而不同,請耐心等待即可,另外,部署成功之后會返回一個 key 值,此 key 值將用于關聯Git。
1、配置 webhook 相關鉤子鏈接,打開 gitea 找到需要部署的項目倉庫 -> Settings -> Webhooks -> Add webhook;
2、填入相關配置信息
3、點擊 Add Webhook 配置成功
目錄
使用WebDeploy部署遠程IIS網站
后臺服務部署
服務器配置
本地WebDeploy發布文件配置
前端頁面部署
WebDeploy服務端配置
WebDeploy發布文件配置
使用WebDeploy部署遠程網站
后臺服務部署
服務器配置
打開IIS管理器(開始->控制面板->管理工具->IIS管理器)
添加網站(右鍵網站->添加網站)如下圖
選擇添后的網站,并賦予相應的IIS用戶權限(選擇相應的網站->(右側)管理->IIS管理權限->允許用戶->IIS管理器->選擇->選擇相應的用戶->確定)
給相應的IIS用戶賦予權限(選擇相應的網站->編輯權限->安全->編輯->添加->高級->立即查找->IIS_IUSRS->選擇用戶->勾選完全控制)
啟用webDeploy發布(選擇相應的網站->啟用webDeploy發布->選擇IIS用戶->確認)
本地WebDeploy發布文件配置
設置發布項目(將Admin.Host設置為啟動項目->右鍵選擇發布->IIS、FTP等->發布->驗證連接->下一頁->
運行目標選擇:如果目標運行是32位則選擇x86,系統也是按照目標運行環境選擇分為(win,osx,liunx).
目標框架選擇:netcoreapp2.1
配置:release
前端頁面部署
WebDeploy服務端配置
服務器配置同上
WebDeploy發布文件配置
本腳本使用 msdeploy.exe 進行部署,需要本機安裝 web deploy。
具體請訪問 https://go.microsoft.com/?linkid=9278654
https://www.microsoft.com/zh-CN/download/details.aspx?id=4148
添加配置文件deploy.config
userName= IIS用戶名稱(devabcD)
password= IIS用戶密碼(123456ABcd)
siteName= 站點名稱
deployUrl= webDeploy路徑(https://test.xin-lai.com:8172/msdeploy.axd)
執行命令(配置完成后在node控制臺執行命令 npm run deploy)
轉載是一種動力 分享是一種美德
如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊信息科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
文檔官網:docs.xin-lai.com
QQ群:
編程交流群<85318032>
產品交流群<897857351>