1. 项目结构

 
2. 代码说明
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
3. 构建
./gradlew buildDocker  uploadArchives
4. 可能碰到的问题
注意以下代码
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 的错误
5. 参考资料
https://github.com/rongfengliang/ratpackdemo
https://github.com/Transmode/gradle-docker
 
 
 
 

gradle 项目构建以及发布maven 私服&& docker 私服构建发布的更多相关文章

  1. (转)Docker镜像构建上下文(Context)

    镜像构建上下文(Context) Docker在构建镜像时,如果注意,会看到 docker build 命令最后有一个 ... 表示当前目录,而 Dockerfile 就在当前目录,因此不少初学者以为 ...

  2. 项目自动构建工具对比(Maven、Gradle、Ant)

    Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. Maven的主要功能主要分为5点,分别是 ...

  3. 使用docker Maven插件本地构建docker镜像并发布到远程服务器

    1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用. 2.将应用导入Eclipse IDE并创建Application类.目录结构如下: Applic ...

  4. 把项目通过maven生产源码包和文档包并发布到自己的私服上

    <!-- 把项目通过maven生产源码包和文档包并发布到自己的私服上 执行maven命令,mvn clean package,执行完成后 命令:mvn deploy 就可以发布到你自己的私服上了 ...

  5. maven发布jar包到私服

    1.setting.xml配置 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi=&quo ...

  6. jenkins+maven+docker集成java发布(一)自动发布

    JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...

  7. Gradle项目构建(1)——Gradle的由来

    一.项目自动构建介绍 作为Java的开发者对eclipse都非常熟悉,其实eclipse就是居于ant来构建项目的,我们先来看看为什么需要自动化构建项目. 1.为什么我们要自动化构建项目 可以假设我们 ...

  8. JAVA-开发构建Gradle项目安装使用教程

    一.简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotl ...

  9. 基于nexus私服配置项目pom.xml和maven settings.xml文件

    备注:搭建nexus私服请参考上一篇文章基于Docker搭建Maven私服Nexus,Nexus详解 一:将jar发送到nexus私服务器 1.pom.xml文件添加配置 pom.xml文件中的这个版 ...

随机推荐

  1. python脚本10_打印斐波那契数列的第101项

    #打印斐波那契数列的第101项 a = 1 b = 1 for count in range(99): a,b = b,a+b else: print(b) 方法2: #打印斐波那契数列的第101项 ...

  2. 14.并发容器之ConcurrentHashMap(JDK 1.8版本)

    1.ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hasht ...

  3. tinyxml解析xml

    基于tinyxml做的简单的xml解析. 1.创建xml bool CreateXmlFile(string& szFileName) {//创建xml文件,szFilePath为文件保存的路 ...

  4. ansible modules开发(一)

    一 模块说明 官方是否有提供的类似功能模块? 可从下面两个连接确定官方提供的模块,以免重复造轮子 官方已发布的模块 http://docs.ansible.com/ansible/modules.ht ...

  5. yyyy-MM-dd EEE hh:mm:ss(日期转换)

    <script> /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) ...

  6. 【51nod-1432】独木舟

    排序后用二分,一直卡在最后一组数据,最后改成long long才AC... #include <bits/stdc++.h> using namespace std; typedef lo ...

  7. 内存保护机制及绕过方法——利用Ret2Libc绕过DEP之ZwSetInformationProcess函数

    1.    DEP内存保护机制 1.1   DEP工作原理 分析缓冲区溢出攻击,其根源在于现代计算机对数据和代码没有明确区分这一先天缺陷,就目前来看重新去设计计算机体系结构基本上是不可能的,我们只能靠 ...

  8. SpringInAction--自动化装配Bean(隐式装配)

    关于Bean的介绍就具体不多介绍了,,, Spring在配置时候有三种方案可选 1.在xml中进行显示配置 2.在java中进行显示配置 3.隐式的Bean发现机制和自动装配 今天学习的就是自动化装配 ...

  9. Ubuntu12.04下samba服务器共享配置

    1 . 前置工作 首先保证你的Ubuntu能上网:虚拟机网络连接方式为NAT:虚拟机雨物理机互ping可通: 2. 安装samba sudo apt-get insall samba sudo apt ...

  10. thinkphp3.1 多表联合查询代码

    php代码 public function info(){ $where['openid']=session('openid');////用户session $db = M("pay&quo ...