-
Notifications
You must be signed in to change notification settings - Fork 0
/
deploy.gradle
89 lines (74 loc) · 3.04 KB
/
deploy.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import org.apache.tools.ant.filters.ReplaceTokens
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.3.0'
}
}
task setUpProjectProperties(dependsOn: jar) {
doFirst {
project.ext.classpath = "../libs/*:../resources/*:../$jar.archiveName"
}
project.ext.jmxConfig = " -Djava.rmi.server.hostname=\$HOSTNAME -Dcom.sun.management.jmxremote.port=${jmxPort} -Dcom.sun.management.jmxremote.ssl=false " +
"-Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false"
project.ext.rootFolder = "/justo/${project.name}"
project.ext.logsFolder = "/justo-logs/${project.name}"
project.ext.user = serviceUser
project.ext.javaPath = "/justo/jdk8/bin/java"
switch (project.ext.environment) {
case "prod":
project.ext.jvmOpts = "-Xmx${prodMaxMemoryMB}m -Xms${prodInitMemoryMB}m -Denv=\"${project.ext.environment}\" -Dspring.profiles.active=\"${project.ext.environment}\" -Dfile.encoding=UTF-8 -Dlog.path=\"${project.ext.logsFolder}\" ${project.ext.jmxConfig}".toString()
break
case "stag":
project.ext.jvmOpts = "-Xmx${stagMaxMemoryMB}m -Xms${stagInitMemoryMB}m -Denv=\"${project.ext.environment}\" -Dspring.profiles.active=\"${project.ext.environment}\" -Dfile.encoding=UTF-8 -Dlog.path=\"${project.ext.logsFolder}\" ${project.ext.jmxConfig}".toString()
break
case "dev":
project.ext.user = "root"
project.ext.javaPath = "java"
project.ext.jvmOpts = "-Xmx${stagMaxMemoryMB}m -Xms${stagInitMemoryMB}m -Denv=\"${project.ext.environment}\" -Dspring.profiles.active=\"${project.ext.environment}\" -Dfile.encoding=UTF-8 -Dlog.path=\"${project.ext.logsFolder}\" ${project.ext.jmxConfig}".toString()
}
}
/* copy scripts */
task copyScripts(dependsOn: setUpProjectProperties, type: Copy) {
doFirst {
def tokensMap = [:]
tokensMap.putAll([
//mainClass : mainClassName,
serviceName: project.name,
key : serviceUUID,
folder : project.ext.rootFolder.toString(),
logsFolder : project.ext.logsFolder.toString(),
user : project.ext.user.toString(),
javaPath : project.ext.javaPath.toString(),
jvmOpts : project.ext.jvmOpts.toString(),
classpath : project.ext.classpath.toString(),
])
filter(ReplaceTokens, tokens: tokensMap)
}
from "../bootstrap"
into "$buildDir/bootstrap"
}
task buildRpm(type: Rpm) {
packageName = project.name
release = project.release
arch = NOARCH
os = LINUX
user = serviceUser
addParentDirs = false
into "/enactive-system/${project.name}"
from(copyScripts) {
into 'bootstrap'
}
from(jar.outputs.files)
from(configurations.compile) {
into 'libs'
}
from(configurations.runtime) {
into 'libs'
}
}
artifacts {
archives buildRpm
}