前端持續化集成和上線部署

持續集成 CI

  • 在持續集成環境中,開發人員將會頻繁的提交代碼到主幹。這些新提交在最終合併到主線以前,都須要經過編譯和自動化的測試流程進行驗證。白話文說 就是讓代碼自動編譯,合併,並進行測試

持續交付 CD

  • 持續交付就是講咱們的應用發佈出去的過程。這個過程能夠確保咱們儘量快的實現交付。這就意味着除了自動化測試,咱們還須要有自動化的發佈流,以及經過一個按鈕就能夠隨時隨地實現應用的部署上線。白話文說 就是一鍵部署上線

devops 持續部署平臺前端

大體的開發到部署上線流程

  • 需求
  • 開發
  • 測試
  • 上線
  • 運維
  1. 統一代碼倉庫經過分支管理合並主幹svn或者git
  2. 自動化構建工具,編譯、部署、測試、監控、本機開發上線環境。 FIS3/Webpack/jdists(區分上線環境和開發環境)/package.json/chai/supertest/mocha/selenium-webdriver
  3. 持續集成平臺。Jenkins、Travis CI
  4. 持續部署工具。 rsync、shelljs、yargs

端口衝突shell

  • 查看端口 lsof -i:80node

  • 解決端口衝突webpack

#!/bin/bash
base_port="80"
check_port=`lsof -i:$base_port | awk '{print $2}'`
while [ "$check_port" != "" ]
do
    let base_port=base_port+1
    check_port=`lsof -i:$base_port`
done
echo $base_port
複製代碼
  • shelljs

具體用法參考見 npm npm init npm install shelljs --save-devgit

#!/usr/bin/env node (where node)
const shell = require("shell.js");

shell.mkdir("")
複製代碼
  • 標準開發 基本標配web

    1. 開發機器 :開發環境、git/svn、開發工具(vscode)
    2. 代碼倉庫 :gitlab hooks鉤子交給jenkins
    3. CI平臺 :Jenkins webpack編譯 私鑰 產生dist扔給QA
    4. QA機器 :公鑰
    • 幾個關鍵的點
      • ci機器上部署Jenkins
      • 執行測試 npm run test /npm run build
      • cd交付代碼測試 獲取上線權限
  • 前端模塊化shell

    • webpack 使用的是 commonjs規範 將全部js直接打包到一個文件裏
    • AMD 是等全部模塊加載過來
define(['dep1','dep2'],function(dep1,dep2){
    return function(){};
})
複製代碼
- CMD 同步執行 先把 require裏的東西正則匹配到 先把全部的js請求回來
- UMD 同時支持 CMD AMD COMMONJS
複製代碼
  • importScript 支持跨域 import 不支持跨域
相關文章
相關標籤/搜索