DevOps DevOps
产品简介
产品安装
快速入门
使用指南
开发指南
FAQ
6.7更新说明
  • 说明
  • 前端编译打包
  • 准备打包工具
  • 前端编译打包
  • 后端编译打包
  • 准备打包工具
  • 后端编译打包

# 说明

本章主要用于 DevOps 的前后端编译打包说明。

本章中所用到的介质可从以下介质库中获取:

介质地址:ftp://10.15.15.57/DevOps-dev/

maven离线库:server/m2repo.zip

打包前请自行准备好Devops对应版本代码

从远端获取代码库

# git clone 对应代码库

# 前端编译打包

# 准备打包工具

自行安装nodejs,本文使用版本为node-v11.15.0

# 前端编译打包

  1. 环境检查

    进入devops代码库下devops-web目录,确保不存在target和node_modules文件夹

  2. 环境准备

    依赖安装

    更新npm仓库源
    # npm config set registry https://registry.npm.taobao.org
    安装依赖
    # npm install --unsafe-perm
    
  3. 前端编译打包

    进入devops代码库下devops-web目录,执行build命令

    构建前端代码到dist目录
    
    # npm run build:prod
    

    如下构建成功

    build-jar-success

    更新国际化配置到dist目录
    
    # npm run build:i18n
    

    如下构建成功

    build-jar-success

    dist目录即为devops-web前端构建文件夹 可自行压缩成zip包;

    也可通过执行前后端打包成war包命令,从devops-web/target目录下获取打包好的devops-web.zip build-jar-success


# 后端编译打包

# 准备打包工具

  1. 自行安装maven工具,推荐版本apache-maven-3.3.9

  2. 配置 Maven,下载离线库:server/m2repo.zip并解压,下载 Maven Settings文件:server/settings.xml

    修改 Settings 文件,并将 localRepository 改为自己的本地路径。

    maven-settings

# 后端编译打包

如何把基于EOS8的Devops应用打包成一个独立可执行的fatjar包

EOS8默认打包的介质是一个tar.gz,虽然包含了一个可执行的fatjar包,为了方便修改配置文件,应用中的配置等文件并不在fatjar中,具体的目录主要关注结构如下:

devops                          devops tar.gz 解压后应用目录
 ├── bin                       
 │   ├── startup.sh              devops应用启动脚本 linux
 │   ├── startup.cmd             devops应用启动脚本 windows
 │   ├── shutdown.sh             devops应用停止脚本 linux
 │   └── shutdown.cmd            devops应用停止脚本 windows
 ├── config                      devops配置文件目录
 │   ├── devops/config           devops应用配置文件目录
 │   │   └── user-config.xml     devops的用户配置文件(jdbc链接等)
 │   └── application.properties  配置应用端口等参数
 ├── db-scripts                  devops平台初始化脚本目录 devops全量安装仅关注devops目录下对应数据库类型all.sql即可
 ├── lib                         存放数据库驱动包以及三方jar包
 └── {fatjar}.jar                devops应用打包后的fatjar包

打包过程如下

  1. 选中项目,点击右键执行maven build... ,输入clean package 对于devops项目按需添加如下参数 后面的版本等参数关系到config/DEVOPS/version中version.properties信息
-DaltDeploymentRepository=primeton_product_stage_21::default::http://192.168.2.1:8081/nexus/content/repositories/Primeton_Product_Stage/ -DDevOps.Version=${devops.version} -Dmaven.test.failure.ignore=true -Dfile.encoding=UTF-8 -DcodeBranch=${globalData.codeBranch} -DcommitId=${globalData.codeCommitId} -DbuildNo=${pipelineContext.buildNo + 1000} -e

maven-build

maven-package

  1. 打包成功示意图

maven-package

  1. 可以在boot构件包下的target目录中找到对应的fatjar和对应压缩包

target

  1. 将前端打入后端tar.gz包中 通过spring启动前后端不分离

    前提是已经构建过前端代码形成了dist目录!

    参考ant构建build.xml如下

<project name="package-example" default="default">  
  
    <!-- 定义属性 -->  
    <property name="src.tar.gz" value="com.primeton.devops.boot/target/devops-boot-6.7.0.tar.gz"/>  
    <property name="src.zip" value="devops-web/target/devops-web.zip"/>  
    <property name="target.dir" value="extracted"/>  
    <property name="static.dir" value="${target.dir}/static"/>  
    <property name="output.tar.gz" value="devops-server.tar.gz"/>  
    
    <target name="default">  
        <mkdir dir="${target.dir}"/>  
        <!-- 目标:解压tar.gz -->  
        <exec executable="tar">  
            <arg value="xzf"/>  
            <arg value="${src.tar.gz}"/>  
            <arg value="-C"/>  
            <arg value="${target.dir}"/>  
        </exec>  
        
        <!-- 目标:解压zip到static目录 -->  
        <unzip src="${src.zip}" dest="${static.dir}"/>  
        
        <!-- 目标:重新打包为tar.gz,包含static目录 -->  
        <tar destfile="${output.tar.gz}" compression="gzip">  
            <tarfileset dir="${target.dir}"/>  
        </tar>  
    </target>  
  
    <!-- 清理目标 -->  
    <target name="clean">  
        <delete dir="${target.dir}"/>  
        <delete file="${output.tar.gz}"/>  
    </target>  
  
</project>

← 后端搭建 前端开发规范 →