zoukankan      html  css  js  c++  java
  • node服务通过Jenkins上线流程

    构建流程

    1. 构建服务器: 拉取指定分支代码
    2. 构建服务器: 安装依赖
    3. 构建服务器: 执行构建
    4. 构建服务器: 如果上线流程,则在 git 上创建 tag,供回滚使用
    5. 构建服务器:打包 node 服务代码,和静态资源代码

    测试环境上线

    1. 构建服务器:执行构建
    2. jenkins:拉取打包好的静态资源和 node 服务代码
    3. jenkins: 静态资源部署到测试服务器
    4. jenkins: node 服务代码上传到测试服务器
    5. 测试服务器:启动服务(需要 root 权限来设置 host)

    沙箱环境上线

    同测试环境上线流程

    线上环境上线

    1. 构建服务器: 执行构建
    2. jenkins:拉取打包好的静态资源和 node 服务代码
    3. jenkins:静态资源代码上传到线上
    4. jenkins:CDN 刷新
    5. jenkins:node 服务代码上传到线上
    6. 线上机器:启动服务

    项目约定与构建参数

    发布流程的使用方式

    传入代码分支与目标机器,服务即可部署到指定机器

    项目约定

    为了自动化程序能够顺利对项目进行构建,需要项目提供以下接口,接口命令可以为空,但是入口必须存在。

    npm install

    安装项目依赖,安装后的目录在项目根目录下的 node_modules 目录中,如果有其他依赖需要安装,需要在 postinstall 或 preinstall 中写明。安装阶段构建工具只调用 npm install 一条命令。

    npm run build

    对项目进行构建,如需对静态资源进行构建,一并在 build 命令中执行,如果存在静态资源,静态资源构建后的位置必须在项目文件夹内。

    npm start

    启动 node 服务,用于在目标机器上执行,请注意 npm start 命令中应当包含关闭正在运行的本服务和重新服务两步。

    host 文件

    如果需要对线上机器设置 host,测试环境和沙箱环境分别在 config/hosttest、config/hostsandbox 中写明,格式即为 host 格式。

    重要

    不要依赖线上全局命令

    除了 pm2 以外,线上不提供其他全局命令,如果需要此类命令,请在项目中自行依赖

    规范 Pm2 的使用

    建议使用 pm2 启动服务,服务必须有应用名,在停止服务时,禁止使用 pm2 kill ,因为这个命令同时会关掉同机器上的其他服务

    测试环境与沙箱环境的 host 设置

    在某些 node 服务中,需要对环境的 host 进行设置,构建工具会读取项目中的 config/hosts.yaml 自动对 host 进行修改

    Host

    只配置在测试机上需要的 host, 如代理后端服务的 ip,不要配置如 cdn 地址等浏览器端的 host

    build 和 start 命令

    build 和 start 命令必须是可以正常退出的命令,watch 等模式,会阻塞构建发布流程的执行

    构建参数

    此处的参数用于在 jenkins 处填写 scm_project 填写项目在 gitlab.58corp.com 下的分组及名称,格式 “group/project” deploy_type 选择部署类型static_name 静态资源目录,支持子目录 online_machine node 服务的线上资源地址,静态资源自动发布到对应目录下, 无需手动设置

     
  • 相关阅读:
    Oracle数据库安装
    [转]卡西欧手表调日期正确方法
    python密码处理(可用于生产模式)
    [转]python对json的相关操作
    [转]Python中的with…as…
    Python标准库--os模块
    我的github代码添加
    Python正则表达式+自创口诀
    自己总结python用xlrdxlwt读写excel
    CentOS安装+配置+远程
  • 原文地址:https://www.cnblogs.com/coder-zyz/p/6749130.html
Copyright © 2011-2022 走看看