这篇文章整理一下使用镜像方式进行JEECG编译环境的标准化,并将标准化的编译镜像和脚本放到了easypack上。

JEECG介绍

详细的介绍可以参看如下链接:

  • http://www.jeecg.com/

框架构成&编译环境

  • 框架主要构成

前端:Angular + NG-Zorro + NG-ALAIN

后端:Spring Boot + Hibernate + MySQL + Redis

注:前端除了Angular还有Vue版,后端除了Spring boot还有Spring MVC版本等

  • 编译环境

前端:npm + angular-cli

/data/jeecg-boot/ant-design-jeecg-angular # node -v
v10.15.3
/data/jeecg-boot/ant-design-jeecg-angular # npm -v
6.4.1
/data/jeecg-boot/ant-design-jeecg-angular #
/data/jeecg-boot/ant-design-jeecg-angular # ng --version_                      _                 ____ _     ___/ \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|/ △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |/ ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___||___/Angular CLI: 7.3.8
Node: 10.15.3
OS: linux x64
Angular: 7.2.13
... animations, common, compiler, core, forms, platform-browser
... platform-browser-dynamic, routerPackage                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.13.8
@angular-devkit/build-angular     0.13.8
@angular-devkit/build-optimizer   0.13.8
@angular-devkit/build-webpack     0.13.8
@angular-devkit/core              7.3.8
@angular-devkit/schematics        7.3.8
@angular/cdk                      7.3.7
@angular/cli                      7.3.8
@angular/compiler-cli             7.2.14
@angular/language-service         7.2.14
@ngtools/webpack                  7.3.8
@schematics/angular               7.3.8
@schematics/update                0.13.8
rxjs                              6.3.3
typescript                        3.2.4
webpack                           4.29.0/data/jeecg-boot/ant-design-jeecg-angular #

后端:jdk + maven

/data/jeecg-boot # mvn --version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T19:00:29Z)
Maven home: /usr/share/maven
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8-openjdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.9.87-linuxkit-aufs", arch: "amd64", family: "unix"
/data/jeecg-boot #

使用Easypack快速构建

前提事项

需要如下前提事项:

  • 软件需求:git + docker
  • 网络需求:能够联网(maven和yarn或者npm安装时的需要)

Step 1: git clone easypack

liumiaocn:easypack liumiao$ git clone http://github.com/liumiaocn/easypack.git
Cloning into 'easypack'...
warning: redirecting to https://github.com/liumiaocn/easypack.git/
remote: Enumerating objects: 172, done.
remote: Counting objects: 100% (172/172), done.
remote: Compressing objects: 100% (111/111), done.
Receiving objects:  29% (560/1886), 252.01 KiB | 11.00 KiB/s
Receiving objects:  29% (560/1886), 420.01 KiB | 3.00 KiB/s
remote: Total 1886 (delta 69), reused 127 (delta 32), pack-reused 1714
Receiving objects: 100% (1886/1886), 917.55 KiB | 5.00 KiB/s, done.
Resolving deltas: 100% (875/875), done.
liumiaocn:easypack liumiao$

确认使用方法

liumiaocn:easypack liumiao$ cd easypack/jeecg/
liumiaocn:jeecg liumiao$ sh jeecg-mgnt.sh Usage: jeecg-mgnt.sh ACTION TYPEACTION: download|build|deploy|allTYPE:   boot|angular|all|bootit(build)|angularit(build)liumiaocn:jeecg liumiao$

执行sh jeecg-mgnt.sh build boot|angular会分别下载前端和后端和后端所需的镜像并进行编译。但建议使用sh jeecg-mgnt.sh build bootit|angularit进行docker中进行操作,因为编译也就一条命令而已,而且过程和进度以及问题更容易确认

Step2: 下载jeecg-boot代码

下载springboot+angular版jeecg源码

liumiaocn:jeecg liumiao$ sh jeecg-mgnt.sh download all
/usr/local/bin/git
## git clone https://gitee.com/dangzhenghui/jeecg-boot
Cloning into 'jeecg-boot'...
remote: Enumerating objects: 3351, done.
remote: Counting objects: 100% (3351/3351), done.
remote: Compressing objects: 100% (2572/2572), done.
remote: Total 3351 (delta 1567), reused 1506 (delta 461)iB/s
Receiving objects: 100% (3351/3351), 5.00 MiB | 441.00 KiB/s, done.
Resolving deltas: 100% (1567/1567), done.
liumiaocn:jeecg liumiao$

Step 3: 启动后端构建容器进行构建

  • 启动构建容器
liumiaocn:jeecg liumiao$ sh jeecg-mgnt.sh build bootit
## please use jeecg-mgnt.sh download all first
## enter jeecg-boot docker env :
/data/jeecg-boot # ls
README.md                 ant-design-jeecg-angular  docs                      shell                     system
activiti                  demo                      pom.xml                   start
/data/jeecg-boot #
  • 使用mvn package进行构建
/data/jeecg-boot # mvn package
[INFO] Scanning for projects...
Downloading from aliyun: http://maven.aliyun.com/nexus/content/groups/public/org/springframework/boot/spring-boot-starter-parent/2.0.3.RELEASE/spring-boot-starter-parent-2.0.3.RELEASE.pom
...省略[INFO] Building jar: /data/jeecg-boot/shell/target/shell-1.0.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for jeecg-boot 1.0.1:
[INFO]
[INFO] jeecg-boot ......................................... SUCCESS [  0.008 s]
[INFO] system ............................................. SUCCESS [02:00 min]
[INFO] demo ............................................... SUCCESS [ 13.568 s]
[INFO] activiti ........................................... SUCCESS [02:27 min]
[INFO] start .............................................. SUCCESS [ 21.388 s]
[INFO] shell .............................................. SUCCESS [  8.611 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:28 min
[INFO] Finished at: 2019-05-04T09:48:25Z
[INFO] ------------------------------------------------------------------------
/data/jeecg-boot #
  • 确认构建结果
/data/jeecg-boot # ls start/target/start-1.0.1.jar
start/target/start-1.0.1.jar
/data/jeecg-boot #
  • 在宿主机进行确认
liumiaocn:jeecg liumiao$ ls
jeecg-boot    jeecg-mgnt.sh
liumiaocn:jeecg liumiao$ ls jeecg-boot/start/target/start-1.0.1.jar
jeecg-boot/start/target/start-1.0.1.jar
liumiaocn:jeecg liumiao$

注意:为了避免生成大量的无用构建用的容器,使用了--rm参数,所以退出的时候容器会自动被删除

Step 4: 启动后端构建容器进行构建

  • 启动构建容器
liumiaocn:jeecg liumiao$ sh jeecg-mgnt.sh build angularit
## please use jeecg-mgnt.sh download all first
## enter jeecg angular docker env:
/data/jeecg-boot/ant-design-jeecg-angular #
  • 使用yarn install安装依赖
/data/jeecg-boot/ant-design-jeecg-angular # yarn install
yarn install v1.13.0
...省略
Done in 346.80s.
/data/jeecg-boot/ant-design-jeecg-angular #
  • 使用yarn run build进行构建
/data/jeecg-boot/ant-design-jeecg-angular # yarn run build
yarn run v1.13.0
$ npm run color-less && ng build --prod --build-optimizer
...省略
Date: 2019-05-04T12:24:07.251Z
Hash: 03ad1b41615455245f1c
Time: 195174ms
chunk {0} common.b72f5c94f0a2b5358817.js (common) 11.1 kB  [rendered]
chunk {1} 1.14a400ce6b622cf59342.js () 93.7 kB  [rendered]
chunk {2} runtime.a66eb787a74866d3eaa8.js (runtime) 2.38 kB [entry] [rendered]
chunk {3} main.7988b4eebdf4aadd8250.js (main) 1.75 MB [initial] [rendered]
chunk {4} polyfills.ff3b6780233bc1953f44.js (polyfills) 41 kB [initial] [rendered]
chunk {5} styles.729de6ab62f7983e42d3.css (styles) 525 kB [initial] [rendered]
chunk {6} 6.229e87e49a8af736f26c.js () 205 kB  [rendered]
chunk {7} 7.014aec73e640183b0a3a.js () 29.5 kB  [rendered]
chunk {8} 8.619a69754856293e3225.js () 21.4 kB  [rendered]
chunk {9} 9.5c77308b3eca1ba6e1d6.js () 41 kB  [rendered]
chunk {10} 10.cd56ac7d8e73076516e0.js () 12.1 kB  [rendered]
chunk {11} 11.6533a0d45f33c99eb841.js () 176 kB  [rendered]
chunk {12} 12.59b18565ce0dd69ee9e5.js () 21.3 kB  [rendered]
chunk {13} 13.96665f3cf9e382722a20.js () 430 kB  [rendered]
chunk {scripts} scripts.bccec99eed536266748d.js (scripts) 1.12 MB [entry] [rendered]WARNING in budgets, maximum exceeded for initial. Budget 2 MB was exceeded by 1.42 MB.
Done in 218.15s.
/data/jeecg-boot/ant-design-jeecg-angular #
  • 确认构建结果
/data/jeecg-boot/ant-design-jeecg-angular # ls D:
webapp
/data/jeecg-boot/ant-design-jeecg-angular #
  • 在宿主机进行确认
/data/jeecg-boot/ant-design-jeecg-angular # exit
liumiaocn:jeecg liumiao$ cd jeecg-boot/ant-design-jeecg-angular
liumiaocn:ant-design-jeecg-angular liumiao$ ls D:
webapp
liumiaocn:ant-design-jeecg-angular liumiao$ ls D:/webapp
1.14a400ce6b622cf59342.js         3rdpartylicenses.txt              assets                            polyfills.ff3b6780233bc1953f44.js
10.cd56ac7d8e73076516e0.js        6.229e87e49a8af736f26c.js         common.b72f5c94f0a2b5358817.js    runtime.a66eb787a74866d3eaa8.js
11.6533a0d45f33c99eb841.js        7.014aec73e640183b0a3a.js         favicon.ico                       scripts.bccec99eed536266748d.js
12.59b18565ce0dd69ee9e5.js        8.619a69754856293e3225.js         index.html                        styles.729de6ab62f7983e42d3.css
13.96665f3cf9e382722a20.js        9.5c77308b3eca1ba6e1d6.js         main.7988b4eebdf4aadd8250.js
liumiaocn:ant-design-jeecg-angular liumiao$

注意:为了避免生成大量的无用构建用的容器,使用了--rm参数,所以退出的时候容器会自动被删除

Easypack: JEECG的容器化编译环境快速构建相关推荐

  1. Java编译环境的构建

    Java编译环境的构建 一.在环境变量中: classpath C:/Sun/AppServer/jdk/lib/tools.jar;C:/Sun/AppServer/jdk/lib/dt.jar; ...

  2. 大数据容器化-基于Kubernetes(k8s)构建spark运行环境

    Apache Spark 在大数据处理与分析领域,Apache Spark无疑占据着重要地位.它的特点是基于内存计算,支持各类资源管理平台,其中以YARN最为常见,同时又与Hadoop平台集成,在集群 ...

  3. 嵌入式设备的容器化App

                                                                                                        ...

  4. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)

    上个月15日,上海MVP做了一次线下的技术分享活动,我分享的主题是<快速构建容器化的ASP.NET Core应用程序>,有关这次活动的简报,可以参考这里.另外,我的主题分享的PPT也可以点 ...

  5. Docker容器化实战第八课 DevOps和CI/CD

    22 多阶段构建:Docker 下如何实现镜像多阶级构建? 通过前面课程的学习,我们知道 Docker 镜像是分层的,并且每一层镜像都会额外占用存储空间,一个 Docker 镜像层数越多,这个镜像占用 ...

  6. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. go环境搭建_容器化 Go 开发环境的尝试

    Go语言中文网,致力于每日分享编码知识,欢迎关注我,会有意想不到的收获! 01 写在前面 昨天上午"起早"到附近的影院看<波西米亚狂想曲>,选的座位比较靠前,最后的二十 ...

  8. Docker容器化技术教程,24小时快速入门

    Docker介绍 Docker简介和安装 Docker是什么 为什么使用Docker 和普通虚拟机的对比 打包.分发.部署 小结 Docker部署的优势 Docker通常用来做什么 重要概念:镜像.容 ...

  9. Google 正式开源 Jib ,帮助 Java 应用快速容器化

    Google 本周宣布开源一款新的 Java 工具 Jib ,旨在让开发者使用他们熟悉的工具更轻松地将 Java 应用程序容器化. 在7月9日发布的博客文章中,Google 软件工程师 Appu Go ...

最新文章

  1. injectionForXcode代码注入步骤
  2. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
  3. python的6种基本数据类型--字典
  4. KVM的内存气球技术(balloon)
  5. 错误:使用printf()打印Hello world时未声明'Hello'/ Text
  6. cpu使用率 htop显示_Linux CPU占用率监控工具小结
  7. 第十一届中国开源黑客松+中国程序员节重磅来袭,这里将有你不能错过的精彩。...
  8. Nodejs基础:路径处理模块path总结
  9. saltstack高效运维
  10. 杀毒软件可能令企业用户陷入更大危机
  11. 比例电磁阀(零)液压知识
  12. mysql导入access2016_将 Access 2.0 和 Access 95 数据库导入到当前版本
  13. VMWare Fusion 安装 Centos7操作系统
  14. less转换css及html里面JS的引入
  15. 锁定计算机过久电脑自动关机,为什么电脑一锁定就会自动关机
  16. Python Numpy数组的降序排列 由大到小
  17. 小程序(十)签到业务流程分析
  18. linux使用vmware虚拟机玩LOL
  19. Win7 64位系统USB免驱设备驱动识别失败解决方法
  20. 如何选择一款最好的硬盘对拷工具

热门文章

  1. 常见的一些代码编辑器
  2. LeetCode Day01:一年中的第几天
  3. matlab 中偏微分符号,一阶、二阶偏微分方程符号运算
  4. RS232、RS485及RS422有什么区别
  5. 20155314 2016-2017-2 《Java程序设计》第4周学习总结
  6. 揭秘北京龙泉寺,连清华北大学子都排队出家的神秘科研组织
  7. python5.网络爬虫
  8. PHP自动全局变量漏洞 rips工具使用
  9. Grand Central Dispatch 基础教程:Part 1/2
  10. 【射影几何01】 射影几何介绍