Skip to content

Commit ab6240a

Browse files
committed
Adding initial support to test the project using Docker images on Travis. (Not running yet)
1 parent 343ccac commit ab6240a

6 files changed

Lines changed: 106 additions & 4 deletions

File tree

.travis.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
1+
sudo: required
12
language: java
23
jdk:
34
- oraclejdk8
4-
5-
script: ./gradlew clean build
5+
before_install:
6+
- chmod +x gradlew
7+
services:
8+
- docker
9+
cache:
10+
directories:
11+
- .autoconf
12+
- $HOME/.m2
13+
- docker
14+
script: ./gradlew dockerTest

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,4 @@ buildscript {
5757
apply plugin: 'org.hidetake.ssh'
5858

5959
apply from: 'deploy.gradle'
60+
apply from: 'docker.gradle'

config.gradle

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
remotes {
3+
ev3dev {
4+
host = '10.0.1.3'
5+
user = 'robot'
6+
password = 'maker'
7+
}
8+
}

deploy.gradle

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
remotes {
33
ev3dev {
4-
host = '192.168.1.206'
4+
host = '10.0.1.3'
55
user = 'robot'
66
password = 'maker'
77
}
@@ -17,6 +17,15 @@ task deploy << {
1717
deploy.dependsOn clean, fatJar
1818

1919
task remoteRun << {
20+
ssh.run {
21+
session(remotes.ev3dev) {
22+
println "java -server -jar /home/robot/" + "${rootProject.name}" + "-all-" + version + ".jar "
23+
execute "java -server -jar /home/robot/" + "${rootProject.name}" + "-all-" + version + ".jar "
24+
}
25+
}
26+
}
27+
28+
task remoteProfilingRun << {
2029
ssh.run {
2130
session(remotes.ev3dev) {
2231
println "java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -server -jar /home/robot/" + "${rootProject.name}" + "-all-" + version + ".jar "
@@ -28,4 +37,11 @@ task remoteRun << {
2837
task deployAndRun << {
2938

3039
}
31-
deployAndRun.dependsOn deploy, remoteRun
40+
deployAndRun.dependsOn deploy, remoteRun
41+
42+
task deployAndProfilingRun << {
43+
44+
}
45+
deployAndProfilingRun.dependsOn deploy, remoteProfilingRun
46+
47+
apply from: 'config.gradle'

docker.gradle

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
task copySrc(type: Copy) {
2+
group = "docker"
3+
from "src"
4+
into "build/docker/app/src"
5+
}
6+
7+
task copyWrapperFiles(type: Copy) {
8+
group = "docker"
9+
from "gradlew"
10+
from "settings.gradle"
11+
from "build.gradle"
12+
into "build/docker/app"
13+
}
14+
15+
task copyWrapper(type: Copy){
16+
group = "docker"
17+
from "gradle/wrapper/gradle-wrapper.jar"
18+
from "gradle/wrapper/gradle-wrapper.properties"
19+
into "build/docker/app/gradle/wrapper"
20+
}
21+
22+
copyWrapper.dependsOn copyWrapperFiles
23+
24+
task copyDockerFile(type: Copy) {
25+
group = "docker"
26+
from "docker"
27+
into "build/docker"
28+
}
29+
30+
def dockerFile = project.projectDir.getAbsolutePath() + "/build/docker"
31+
def dockerName = project.name.toLowerCase() + ":" + version.toLowerCase()
32+
33+
task dockerBuild(type: Exec) {
34+
workingDir project.projectDir
35+
commandLine 'docker', 'build', '-t', dockerName, dockerFile
36+
}
37+
38+
dockerBuild.dependsOn copySrc
39+
dockerBuild.dependsOn copyWrapper
40+
dockerBuild.dependsOn copyDockerFile
41+
42+
task dockerRun(type: Exec) {
43+
group = "application"
44+
group = "docker"
45+
workingDir project.projectDir
46+
commandLine 'docker', 'run', dockerName , "./gradlew", "run"
47+
}
48+
49+
dockerRun.dependsOn dockerBuild
50+
51+
task dockerTest(type: Exec) {
52+
group = "verification"
53+
group = "docker"
54+
workingDir project.projectDir
55+
commandLine 'docker', 'run', dockerName , "./gradlew", "test"
56+
}
57+
58+
dockerTest.dependsOn dockerBuild

docker/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Pull base image.
2+
FROM openjdk:8-jdk
3+
4+
ADD app /app
5+
6+
WORKDIR /app
7+
8+
CMD ["bash"]
9+
10+

0 commit comments

Comments
 (0)