前端持续化集成和上线部署

持续集成 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:80

  • 解决端口冲突

#!/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-dev

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

shell.mkdir("")
复制代码
  • 标准开发 基本标配

    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交付代码测试 获取上线权限
  • 前端模块化

    • webpack 使用的是 commonjs规范 将所有js直接打包到一个文件里
    • AMD 是等所有模块加载过来
define(['dep1','dep2'],function(dep1,dep2){
    return function(){};
})
复制代码
- CMD 同步执行 先把 require里的东西正则匹配到 先把所有的js请求回来
- UMD 同时支持 CMD AMD COMMONJS
复制代码
  • importScript 支持跨域 import 不支持跨域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值