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文件中的这个版 ...
随机推荐
- jq对页面元素进行排序
利用sort函数排序: var div = $('.media').toArray().sort(function(a,b){ return parseInt($(a).find('.info .pr ...
- 创建自定义JSR303的验证约束(Creating custom constraints)
转载:http://clongjava.iteye.com/blog/1317649 由于输入验证在软件开发中是必须的一件事情,特别是与用户交互的软件产品,验证用户的潜在输入错误是必不可少的一件事情, ...
- 文件上传及时显示, 前端js和后端php相互结合使用
文件读取 javascript 绑定文件上传变化事件 onchange 利用window对象 FileReader 调用方法 readerAsDataURL onload 方法 异步读取 属性:fil ...
- 【hive】子查询
hive中是不支持子查询的 但是并不意味这不支持in 或者 not in in 或者not in 后边是定值的话是支持的 但是接定制是可以的 例如 select id from table not i ...
- 用U盘安装ubuntu
用U盘安装操作系统,并不鲜见,对于Windows,可以用大白菜安装XP.Win7等,本质上是在U盘上安装一个小型的windows(WinPE),然后利用ghost一键还原技术,把U盘中的XP.gho( ...
- Java基础学习-常见API
package commonAPIs; /*java.lang 类 Object java.lang.Object public class Object类 Object 是类层次结构的根类.每个类都 ...
- 关于block和inline元素的float
CSS float 浮动属性 本篇主要介绍float属性:定义元素朝哪个方向浮动. 目录 1. 页面布局方式:介绍文档流.浮动层以及float属性. 2. float:left :介绍float为 l ...
- 如何判断SOCKET还是连接着的
转自 http://blog.csdn.net/loadstar_kun/article/details/5790407 1. 用read函数来判断 读到长度0不能断定是已经断开.除非是-1,才代表输 ...
- Vim技能修炼教程(16) - 浮点数计算函数
浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函 ...
- 基于sklearn进行文本向量化
sklearn中,计数向量化用CountVectorizer,tfidf向量化用TfidfVectorizer: import pickle from sklearn.feature_extracti ...