zhangyuyu / Simple-web

gradle nexus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sonatype Nexus搭建maven私服

一、关键字

gradlemavennexusdockerdocker-composejenkins

二、简介

本工程是用gradle构建的一个简单web应用。
主要用于模拟web项目,验证nexus的好处:

  • 节省外网带宽
  • 加速Maven构建
  • 部署第三方构件
  • 提高稳定性,增强控制
  • 降低**仓库的负荷

详细内容可参考博客Nexus-SonatypeNexus入门

三、运行

  1. 搭建nexus proxy repo

  2. clone本repo

  3. 配置nexusUrl

    • 在gradle.properties文件中配置nexusUrl为http://localhost:32768/repository/
    • 在build.gradle文件中配置maven url为${nexusUrl}/maven-central/
  4. 运行应用,下载依赖

    ./gradlew appRun
    
  5. 浏览器查看 http://localhost:8090/simple-web/

详细内容可参考博客

四、上传程序镜像至nexus

  1. 编写Dockerfile

    • 从本地nexus的docker proxy仓库上获取tomcat:8.0-jre8-alpine镜像
    • 添加构建产物war包
  2. 运行自动化脚本.go.sh

    • gradle生成构建产物
    • 准备docker镜像的相关材料:dockerfile、war包等
    • 构建镜像
    • 上传镜像至nexus的docker hosted仓库

详细内容可参考博客

五、利用jenkins进行持续集成

  1. 构建jenkins容器
  2. 配置jenkins job
  3. 联通jenkins容器和nexus容器,使jenkins的gradle job运行时候,能够从nexus获取相关依赖
    • 构建docker-compose.yml
    • 配置nexus-service和jenkins-service的网络(nexus-net)
    • 配置静态地址及子网络

详细内容可参考博客

About

gradle nexus


Languages

Language:Java 56.6%Language:Shell 43.4%