gradle 项目构建以及发布maven 私服&& docker 私服构建发布
1. 项目结构
a. Dockerfile docker 构建的
FROM openjdk:8-jre-alpine
WORKDIR /appdemo/
COPY build/distributions/ratpackdemo.zip /appdemo
RUN unzip /appdemo/ratpackdemo.zip
EXPOSE 5050
ENTRYPOINT [ "./ratpackdemo/bin/ratpackdemo"]
b. build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.ratpack:ratpack-gradle:1.5.1"
classpath('se.transmode.gradle:gradle-docker:1.2')
}
}
project.group="com.dalong"
version="1.0-SNAPSHOT"
apply plugin: "io.ratpack.ratpack-java"
apply plugin: "idea"
apply plugin: "docker"
apply plugin: "maven"
repositories {
jcenter()
}
uploadArchives {
repositories.mavenDeployer {
repository(url: "http://nexushost:8081/nexus/content/repositories/snapshots") {
authentication(userName: "username", password: "userpassword")
project.group="com.dalong"
version="1.0-SNAPSHOT"
pom.groupId = "com.dalong"
pom.artifactId = "mydemo-ratpack"
}
}
}
distZip {
archiveName = 'ratpackdemo-1-1.zip'
}
dependencies {
runtime "org.slf4j:slf4j-simple:1.7.25"
}
task buildDocker(type:Docker,dependsOn: build){
push = false
applicationName = distZip.archiveName
project.group="dockerimagehost/mydemo"
dockerfile = file("${projectDir}/src/main/docker/Dockerfile")
doFirst {
copy {
from distZip
into stageDir
}
}
}
mainClassName = "dalong.Application"
c. 项目代码
省略比较简单,可以参考下面的参考地址
https://github.com/rongfengliang/ratpackdemo
./gradlew buildDocker uploadArchives
注意以下代码
uploadArchives {
repositories.mavenDeployer {
repository(url: "http://nexushost:8081/nexus/content/repositories/snapshots") {
authentication(userName: "username", password: "userpassword")
project.group="com.dalong"
version="1.0-SNAPSHOT"
pom.groupId = "com.dalong"
pom.artifactId = "mydemo-ratpack"
}
}
}
中version 对于对应maven仓库应该包含对应的 release 后者 SNAPSHOT 不然会存在发布提示400 的错误
https://github.com/rongfengliang/ratpackdemo
https://github.com/Transmode/gradle-docker
gradle 项目构建以及发布maven 私服&& docker 私服构建发布的更多相关文章
- (转)Docker镜像构建上下文(Context)
镜像构建上下文(Context) Docker在构建镜像时,如果注意,会看到 docker build 命令最后有一个 ... 表示当前目录,而 Dockerfile 就在当前目录,因此不少初学者以为 ...
- 项目自动构建工具对比(Maven、Gradle、Ant)
Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. Maven的主要功能主要分为5点,分别是 ...
- 使用docker Maven插件本地构建docker镜像并发布到远程服务器
1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用. 2.将应用导入Eclipse IDE并创建Application类.目录结构如下: Applic ...
- 把项目通过maven生产源码包和文档包并发布到自己的私服上
<!-- 把项目通过maven生产源码包和文档包并发布到自己的私服上 执行maven命令,mvn clean package,执行完成后 命令:mvn deploy 就可以发布到你自己的私服上了 ...
- maven发布jar包到私服
1.setting.xml配置 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi=&quo ...
- jenkins+maven+docker集成java发布(一)自动发布
JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...
- Gradle项目构建(1)——Gradle的由来
一.项目自动构建介绍 作为Java的开发者对eclipse都非常熟悉,其实eclipse就是居于ant来构建项目的,我们先来看看为什么需要自动化构建项目. 1.为什么我们要自动化构建项目 可以假设我们 ...
- JAVA-开发构建Gradle项目安装使用教程
一.简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotl ...
- 基于nexus私服配置项目pom.xml和maven settings.xml文件
备注:搭建nexus私服请参考上一篇文章基于Docker搭建Maven私服Nexus,Nexus详解 一:将jar发送到nexus私服务器 1.pom.xml文件添加配置 pom.xml文件中的这个版 ...
随机推荐
- 微信小程序-----安装,编写第一个小程序和运行到手机端
第一步: 微信公众平台注册账号,并选择小程序,网址:mp.weixin.qq.com 填写相关信息,如:主体类型(个人或者企业) AppID 在开发中都是用的到的,服务器域名在网络请求也是用的到的. ...
- MongoDB基于GridFS管理文件
前言 GridFS是一种将大型文件存储在MongoDB的文件规范: 数据库支持以BSON格式保存二进制对象. 但是MongoDB中BSON对象最大不能超过4MB. GridFS 规范提供了一种透明的机 ...
- IOS-CocoaPods制作篇
作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/20067595 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关 ...
- mac下csv乱码解决办法
到csv目录下, 用终端执行以下命令: iconv -f UTF8 -t GB18030 a.csv >b.csv
- IHTMLDocument2 TO IWebBrowser2
if(NULL != pIHTMLDocument2) { IHTMLWindow2* pIHTMLWindow2 = NULL; hr = pIHTMLDocument2->get_paren ...
- JWT的详细简介
什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场 ...
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. ...
- iOS 阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- (转)MapReduce Design Patterns(chapter 2 (part 3))(四)
Inverted Index Summarizations Pattern Description 反向索引模式在MapReduce分析中经常作为一个例子.我们将会讨论我们要创建的term跟标识符之间 ...
- EasyAACEncoder海思/ARM平台优化G711、G726转AAC的CPU占用高问题
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/75645378 引言 目前EasyDarwin ...