国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

作為前端leader,如何搭建屬于我們公司自己的流水線自動化部署系統(tǒng)(node+express)

這篇具有很好參考價值的文章主要介紹了作為前端leader,如何搭建屬于我們公司自己的流水線自動化部署系統(tǒng)(node+express)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

背景:自動化部署系統(tǒng)主要可以集成到公司內(nèi)部的管理系統(tǒng)中去,比如公司有多個項目,移動端H5,大屏網(wǎng)站,門戶網(wǎng)站等...每次發(fā)布或者迭代都需要前端同事打包然后在交給運維或者后端同事放到服務器上進行部署

,如果有一個項目多個同事合作完成 還要走git合并流程,所以我們的目標就是不讓前端進行打包,開發(fā)完成代碼后 直接提交就行,通過點擊管理后臺的某個按鈕觸發(fā)某個平臺的前端項目自動更新,同時也不需要

在交付給運維或者后端,便攜式與流程管理,實現(xiàn)自動化部署(這里只說自己實現(xiàn)的,當然你們也可以去接入騰訊或阿里的自動化流水部署系統(tǒng),但是某些環(huán)境下只能使用自己的如何去實現(xiàn))

?這里做一個簡單的版本和實現(xiàn)代碼,可以自己擴展回滾本版,本版記錄等,發(fā)布人員落實在責任人等...

1.創(chuàng)建一個干凈的express項目,寫一個空接口吧下面代碼放進去,調(diào)用就執(zhí)行

const shell = require('shelljs');
var fs = require('fs');
var path = require('path');
const { exec } = require('node:child_process');

// 1.切換到服務器中儲存的項目地址目錄
const project_path = '/www/wwwroot/menghangl/public/test';
shell.cd(project_path);

// 2.刪除打包的舊前端dist文件
function deleteDir(url) {
  if (fs.existsSync(url)) {
    fs.readdirSync(url).forEach(function(file, index) {
      var curPath = path.join(url, file);
      if (fs.statSync(curPath).isDirectory()) {
        // 如果是文件夾,則遞歸調(diào)用deleteDir函數(shù)
        deleteDir(curPath);
      } else {
        // 如果是文件,則刪除文件
        fs.unlinkSync(curPath);
      }
    });
    // 刪除文件夾
    fs.rmdirSync(url);
  } else {
    console.log("給定的路徑不存在!");
  }
};
deleteDir('/www/wwwroot/menghangl/public/test/dist');

// 3.執(zhí)行打包命令
const command = 'npm run build';
// 打包展示的進度
let schedule = 0; 
// 打包成功回調(diào)
let build = exec(command, (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error打包失敗: ${error}`);
    return;
  }
  schedule = 0;
  console.log('打包成功,打包結(jié)束在這里結(jié)束接口請求,或者斷開長連接')
});

// 4打包進度實時顯示 并輸出打包步驟
build.stdout.on('data', function(data) {
 if(schedule!==100){
     console.log(`Program output 【${schedule}%】`,data)
     schedule += 20;
 } else {
     console.log(data)
 }
});

?文章來源地址http://www.zghlxwxcb.cn/news/detail-825098.html

2.服務端通過git獲取最新倉庫內(nèi)容

const shell = require('shelljs');
var fs = require('fs');
var path = require('path');
const { exec } = require('node:child_process');
//判定git命令是否可用
if (!shell.which('git')) {
    //向命令行打印git命令不可用的提示信息
    shell.echo('Sorry, this script requires git');
    //退出當前進程
    shell.exit(1);
} else {
    console.log('可以使用')
// 切換到要拉取的文件夾目錄 shell.cd(
'/www/wwwroot/menghangl/public/test_git');
// 遠程倉庫的git命令與地址 const command
= 'git clone https://gitee.com/martins_coachman/blog-vue3-b.git'; let build = exec(command, (error, stdout, stderr) => { if (error) { console.error(`拉取失敗: ${error}`); return; } console.log('拉取成功') }); }

?

3.優(yōu)化與部署流程建議

上面兩部分就是核心代碼

1.首先先要自己部署一個node服務到服務器

2.寫一個接口吧第一步驟放進去 在打包成功的地方結(jié)束請求,也可以用長連接,通過開啟和關閉開實現(xiàn)

并且實時顯示打包進度和狀態(tài)

3.如果要使用git,自動同步代碼,就先拉取等待拉取完成回調(diào)后,在執(zhí)行打包邏輯代碼

4.注意打包的時候會占用較多的cpu與內(nèi)存,所以建議一個一個任務去執(zhí)行,避開流量高峰期

5.解決這個的方法還有一個,就是在本地打包成功后直接git提交代碼包括打包后的文件,服務器直接拉取最新代碼即可

6.另外由于打包是在服務端進行,所以有時候我們開發(fā)功能添加了新的npm庫 需要更新 node_modules包,建議先執(zhí)行cnpm i 在去執(zhí)行npm run build

7.最后可能node_modules會變的比較大 非常占用服務器硬盤空間 所以建議每次打包完成后刪除 node_modules 包

?

這樣就可以 用列表選擇的方式在后臺管理系統(tǒng)進行配置 動態(tài)傳入不同的項目地址,遠程倉庫地址,執(zhí)行命令等,通過后臺管理系統(tǒng)像表單一樣填寫然后執(zhí)行打包完成!

?

到了這里,關于作為前端leader,如何搭建屬于我們公司自己的流水線自動化部署系統(tǒng)(node+express)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 搭建一個屬于自己的springboot項目

    搭建一個屬于自己的springboot項目

    最近公司要上個新系統(tǒng),指定由我來帶兩個人進行開發(fā),既然是新項目,那么項目搭建的事就落到我的頭上了?,F(xiàn)在都是使用springboot進行開發(fā),為此我搭環(huán)境使用的是springboot,具體java環(huán)境如下, 使用springboot的版本是2.3.3.RELEASE。使用maven進行項目管理, 總結(jié)下,我使用到的

    2024年02月07日
    瀏覽(21)
  • 免費搭建屬于自己的域名個性郵箱

    當你已經(jīng)擁有域名為 fzuenactus.org.cn的SSL證書時,你可以使用該證書來配置你的域名郵箱。以下是更詳細的步驟: 1. 安裝必要軟件: 在終端中執(zhí)行以下命令來更新系統(tǒng)和安裝所需的軟件包: 2. 配置Postfix: 編輯Postfix主配置文件: 確保以下配置正確設置: myhostname = mail.fzuenac

    2024年02月11日
    瀏覽(88)
  • 前端工程化:發(fā)布一個屬于自己的規(guī)范 npm 包

    前端工程化:發(fā)布一個屬于自己的規(guī)范 npm 包

    初始化項目 首先在github創(chuàng)建一個倉庫,協(xié)議選擇MIT,gitignore選擇Node,添加README.md描述文件。使用git clone將項目克隆到本地。cd 進入目錄,使用vscode打開(終端輸入code . 命令即可)。 然后創(chuàng)建一個合理的目錄結(jié)構(gòu): 配置 typescript 統(tǒng)一代碼風格 首先,配置eslint,使用遵循Air

    2024年02月05日
    瀏覽(91)
  • 【快速搭建】屬于自己的小店 -獨角數(shù)卡-docker版本

    我選用的是docker版本的部署,至于為什么選擇這個,當然是因為方便!

    2024年02月16日
    瀏覽(24)
  • 在筆記本上搭建一個屬于自己的ChatGPT

    隨著ChatGPT的流行,許多開發(fā)者想要嘗試搭建一個ChatGPT服務,本文對如何在電腦上搭建進行入門。 1.安裝Python和必要的庫 首先,需要在你的筆記本上安裝Python和必要的庫。你可以從Python官方網(wǎng)站(https://www.python.org/downloads/)下載最新版本的Python,然后使用pip安裝以下必要的庫

    2024年02月11日
    瀏覽(18)
  • Gitbook超詳細使用教程,搭建屬于你自己的博客!

    Gitbook 是一個平臺,允許用戶創(chuàng)建和分享內(nèi)容豐富的在線書籍。它有一個用戶友好的界面,可以快速地寫作、編輯和發(fā)布你的電子書。這里是一個按照 Gitbook 的基本步驟 打開GitBook官網(wǎng),這里我選擇使用github賬號來登錄,當然你也可以自己新建一個賬號 點擊左下角的加號,選

    2024年02月04日
    瀏覽(19)
  • 【Zblog搭建博客網(wǎng)站】windows環(huán)境搭建屬于自己的博客并發(fā)布上線

    【Zblog搭建博客網(wǎng)站】windows環(huán)境搭建屬于自己的博客并發(fā)布上線

    轉(zhuǎn)載自cpolar極點云文章:【Zblog建站】搭建屬于自己的博客網(wǎng)站,并內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問 想要成為一個合格的技術(shù)宅或程序員,自己搭建網(wǎng)站制作網(wǎng)頁是繞不開的項目。就以筆者自己的經(jīng)歷來說,就被自制網(wǎng)頁網(wǎng)站卡過很久。不過隨著電腦技術(shù)的發(fā)展,已經(jīng)出現(xiàn)了很多便捷

    2024年02月15日
    瀏覽(23)
  • 兩小時搭建屬于自己的chatGPT(ChatGLM)免硬件(白嫖)

    兩小時搭建屬于自己的chatGPT(ChatGLM)免硬件(白嫖)

    目錄 準備(注冊): 搭建: API模式: 測試: 總結(jié): 注冊modelscope(底層阿里云)免費使用服務器 https://modelscope.cn/ 按照圖片里的選擇(選擇其他好像不能創(chuàng)建成功) 可以白嫖60多個小時的配置 8核 32GB 顯存16G 預裝 ModelScope Library 預裝鏡像 ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.5.0 Cha

    2024年02月05日
    瀏覽(25)
  • 如何自己制作一個屬于自己的小程序?

    如何自己制作一個屬于自己的小程序?

    在這個數(shù)字化時代,小程序已經(jīng)成為了我們生活中不可或缺的一部分。它們方便快捷,無需下載安裝,掃一掃就能使用。如果你想擁有一個屬于自己的小程序,不論是為了個人興趣,還是商業(yè)用途,都可以通過編程或者使用免代碼工具來實現(xiàn)。下面,我們就來探討一下如何自

    2024年01月24日
    瀏覽(23)
  • 在群暉NAS上快速搭建屬于自己的Git Server

    在群暉NAS上快速搭建屬于自己的Git Server

    群暉NAS套件中心是有Git Server套件的,只要在套件中心安裝即可。但是需要注意的是: git 相關的命令需要使用 SSH 客戶端連接到NAS上進操作。 配置git時需要使用 管理員權(quán)限賬戶,而 push / fetch 使用的賬戶一般都為普通用戶,一定要注意權(quán)限問題。 安裝Git Server套件 創(chuàng)建用來存

    2024年02月02日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包