import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage import com.bmuschko.gradle.docker.tasks.image.Dockerfile buildscript { repositories { mavenLocal() maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } // maven { url "https://corp.xqopen.cn/repo/repository/maven-public/" } mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE") classpath 'com.bmuschko:gradle-docker-plugin:3.2.0' } } apply plugin: 'java' apply plugin: 'idea' apply plugin: 'org.springframework.boot' apply plugin: 'com.bmuschko.docker-remote-api' sourceCompatibility = 1.8 targetCompatibility = 1.8 [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8' ext { springBootVersion = '1.5.8.RELEASE' springfoxVersion = '2.6.1' junit4Version = '4.12' junitVintageVersion = '4.12.1' dockerPath = "${buildDir}/docker/" activitiVersion = '5.22.0' } repositories { mavenLocal() maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } // maven { url "https://corp.xqopen.cn/repo/repository/maven-public/" } mavenCentral() } dependencies { compile "org.quartz-scheduler:quartz:2.2.3" compile "org.springframework:spring-context-support:4.3.12.RELEASE" compile "org.springframework.boot:spring-boot-starter-web:${springBootVersion}" compile "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}" compile('org.springframework.boot:spring-boot-starter-log4j2') compile "com.baomidou:mybatisplus-spring-boot-starter:1.0.4" compile "com.baomidou:mybatis-plus:2.1.4" compile "org.postgresql:postgresql:42.1.4" compile "org.apache.velocity:velocity:1.7" compile 'com.alibaba:druid-spring-boot-starter:1.1.4' compile 'io.springfox:springfox-swagger2:2.7.0' compile 'io.springfox:springfox-swagger-ui:2.7.0' compile 'com.alibaba:fastjson:1.2.39' compile 'joda-time:joda-time:2.9.9' compile "org.projectlombok:lombok:1.16.18" // annotationProcessor 'org.projectlombok:lombok:1.18.2' // compileOnly 'org.projectlombok:lombok:1.18.2' // testAnnotationProcessor 'org.projectlombok:lombok:1.18.2' // testCompileOnly 'org.projectlombok:lombok:1.18.2' compile 'org.activiti:activiti-spring-boot-starter-basic:5.22.0' // compile "org.activiti:activiti-engine:${activitiVersion}" // compile "org.activiti:activiti-bpmn-layout:${activitiVersion}" // compile "org.activiti:activiti-spring:${activitiVersion}" // compile "org.activiti:activiti-engine:${activitiVersion}" // compile "org.activiti:activiti-bpmn-model:${activitiVersion}" compile 'commons-beanutils:commons-beanutils:1.8.3' compile 'commons-io:commons-io:2.4' compile 'com.google.code.gson:gson:2.2.4' compile 'org.apache.poi:poi:3.15' compile 'org.apache.poi:poi-ooxml:3.15' compile 'com.jcabi:jcabi-manifests:1.1' //compile 'com.sun.mail:javax.mail:1.5.4' compile('javax.mail:mail:1.4.7') compile fileTree(dir: 'libs', include: ['*.jar']) testCompile "org.springframework.boot:spring-boot-starter-test" testCompile "junit:junit:${junit4Version}" testRuntime "org.junit.vintage:junit-vintage-engine:${junitVintageVersion}" } sourceSets { main { resources { srcDir "src/main/java/" //将mybatis中的xml打入最终的classpath中 srcDir "src/main/resources/" } } } configurations { all*.exclude module: 'spring-boot-starter-logging' all*.exclude module: 'logback-classic' //all*.exclude module: 'log4j-over-slf4j' } jar { manifest { attributes 'Implementation-Title': getProject().getName(), 'Implementation-Version': getDate() } } String getDate() { Date date = new Date(); String dates = date.format("yyyyMMdd", TimeZone.getTimeZone("Asia/Shanghai")); return dates; } version = '0.0.1-SNAPSHOT' group = 'kehui' //archivesBaseName = 'kehui-server' /** * docker 打镜像 */ // 拷贝jar包到docker编译目录 task copyJarToDocker(type: Copy) { dependsOn 'build' from "${buildDir}/libs/${rootProject.name}-${version}.jar" into "${dockerPath}/" } // 创建Dockerfile task createDockerfile(type: Dockerfile) { dependsOn 'copyJarToDocker' destFile = project.file("${dockerPath}/Dockerfile") from 'openjdk:8-jdk-alpine' maintainer 'Jerry Zhu "jerry@xqopen.com"' String jarName = "${rootProject.name}-${version}.jar" addFile("${jarName}", "/${jarName}") environmentVariable("LANG", "C.UTF-8") //environmentVariable("JAVA_OPTS", "'-Duser.timezone=Asia/Shanghai'") defaultCommand "java", "-Duser.timezone=Asia/Shanghai", "-jar", "/${jarName}" } // 编译docker镜像 task buildImage(type: DockerBuildImage) { dependsOn 'createDockerfile' inputDir = createDockerfile.destFile.parentFile tag = "${rootProject.name}:latest" labels = [ "com.example.group": "kehui", ] }