gradle
、maven
、nexus
、docker
、docker-compose
、jenkins
。
本工程是用gradle构建的一个简单web应用。
主要用于模拟web项目,验证nexus的好处:
- 节省外网带宽
- 加速Maven构建
- 部署第三方构件
- 提高稳定性,增强控制
- 降低中央仓库的负荷
详细内容可参考博客Nexus-SonatypeNexus入门
-
搭建nexus proxy repo
-
clone本repo
-
配置nexusUrl
- 在gradle.properties文件中配置nexusUrl为
http://localhost:32768/repository/
- 在build.gradle文件中配置maven url为
${nexusUrl}/maven-central/
- 在gradle.properties文件中配置nexusUrl为
-
运行应用,下载依赖
./gradlew appRun
-
浏览器查看
http://localhost:8090/simple-web/
详细内容可参考博客
-
编写Dockerfile
- 从本地nexus的docker proxy仓库上获取tomcat:8.0-jre8-alpine镜像
- 添加构建产物war包
-
运行自动化脚本
.go.sh
- gradle生成构建产物
- 准备docker镜像的相关材料:dockerfile、war包等
- 构建镜像
- 上传镜像至nexus的docker hosted仓库
详细内容可参考博客
- 构建jenkins容器
- 配置jenkins job
- 联通jenkins容器和nexus容器,使jenkins的gradle job运行时候,能够从nexus获取相关依赖
- 构建docker-compose.yml
- 配置nexus-service和jenkins-service的网络(nexus-net)
- 配置静态地址及子网络
详细内容可参考博客