Skip to content

Commit e6cb73e

Browse files
committed
build docker image in travis
1 parent b9e3fb0 commit e6cb73e

File tree

6 files changed

+55
-4
lines changed

6 files changed

+55
-4
lines changed

.dockerignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**
2+
!src/main/resources/lib/
3+
!target/ide-backend.jar

.travis.yml

+26-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1+
dist: trusty
12
language: java
23
jdk:
3-
- oraclejdk8
4+
- oraclejdk8
45

56
cache:
67
directories:
78
- "$HOME/.m2"
89

9-
install: true
10+
env:
11+
global:
12+
- COMMIT=${TRAVIS_COMMIT::8}
13+
- DOCKER_CACHE_FILE=${HOME}/docker/cache.tar.gz
14+
- REPO=webide/backend
15+
- secure: qL8NHgOsEC6KgNUVWjeNqj1YBYUnKsZ+j14098jConbNqVeXOOvjeihjP85mCULo/ory0RjuvSMbDpqUpkgfNRE+NgrAcnlPY36Y08FXWn0BDZphHQhRTu8Jbp/AIYWS0mhI0ZEPmAEyIJsZu3nggEL2XtthK2aCQGJjVMcBJBxo2xZfhN+hrFj0u8kJUpIQNxTbS5+rCQYjAekch5EkjDzUQEoSPerQ9Vb4DcJ5S/YSA/Z3FfFhEwUuh7cgqZOko9GEJOEbIHTXG2ZqyghlTzW26bJPbQsitgAZWTMmn70IBFXQakamhC/6uFxJZOK0EO1Lh33MDqKN6qGhJVLWMYJ9M7RD3cQzj9dpElwsLRgcj1shTGmrh1DzTIc2rNNT5EV5Kfw6KwPhk4CbDj4CP0fZRBPuvaNg/KcR2DS130unxi+PBqasslfqrE7Pvahayjz9OCxa/tMblX+SR5m4CnY4P4IzOyTxLOjN68S5D2oCTmV9W/iOoXF1kUm7pe6fFKWTWH/cI2H3dh6DFtQBR39y2zRfTryuGLGmhbNz0fN1323r80scYEplZQ5tsdkvLxIBXkn2+Cvgmek5nl10xkUD1/DU52hhI9cFC9K8Cj74KTJ4Us38157OR6zCC8Es44zpBpDzyodYJ6/zkBLMIr+MWN4FzJcY2EteKEGliYo=
16+
- secure: V4CHmKz/DbPeUkXI7zng/vwpMP/EnDV/s60fHd+g7/G15WADX/OaZj+PE6lQEaGzvKwdmjjisnFHPrpOpegJA80AGjhj2f/x+WcpcCw4k0ct7tFHrXylgzols4n04jlMBcvyxgKrk0pbyKP/zAUe5UF3YZ8cjjNjOlDZDbvpaNphHmcQn3NkrW3z4CcwemJqG2l4+di3enXb2/VETn/WRJTvk1epXpZ2jCk3+2xQG7LkxgAvZTm2vK8YxQ7rXFqzoas2nYT3YFSBktU+B6rU2gtiH0R0FaLhuNKEukJo4EgdPUNXZebDzKbKmzgSBFw5O3sR6eoMdQhMVrO4dZuwGcUAdSd8VLFBG6I+7ulRiafik2RcFhnft2Vy+x5pdroToGyt9Dc8Q4bpMgGAAn4q7orm0Om4r3UgKCwktboMYbFLrlMTflp7tRCHXYunoh7YQEpNZYGT8typ0wRu/D4MHIf7m0wcT8jceYMo43GVqN/yVPycIHwgslR/SyPJdBrChk4scunXKOOmxo8tn9KnYnuA4JHiZC3J3mQ/Rjnp6Glw37IX2M7TKcwk47ve24FU84pgoXKE/4gnsmNEPborEMPw4arN8MlO/3wDoIFv7iBClx64hqZ/GPPGqx2cXzMqGJMxl90/XJRnbzVm01HjmobRJ71YAqnJDTBEkY/wUqU=
17+
18+
before_install:
19+
- sudo apt-get update
20+
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-engine
21+
- if [ -f ${DOCKER_CACHE_FILE} ]; then gunzip -c ${DOCKER_CACHE_FILE} | docker load;
22+
fi
1023

1124
script:
12-
mvn test
25+
- set -e
26+
- mvn --Dskip-webjars=true package
27+
- docker build -f Dockerfile -t $REPO:$COMMIT .
28+
- docker tag $REPO:$COMMIT $REPO:latest
29+
- docker login -u $DOCKER_USER -p $DOCKER_PASS
30+
- docker push $REPO
31+
32+
before_cache:
33+
- set -e
34+
- mkdir -p $(dirname ${DOCKER_CACHE_FILE})
35+
- docker save $(docker history -q $REPO:$COMMIT | grep -v '<missing>') | gzip > ${DOCKER_CACHE_FILE}
1336

1437
notifications:
1538
slack:

Dockerfile

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM java:8-jre-alpine
2+
3+
EXPOSE 8080
4+
5+
RUN set -ex && \
6+
if [ $(wget -qO- ipinfo.io/country) == CN ]; then echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories ;fi && \
7+
apk update && \
8+
apk add --no-cache zsh git
9+
10+
# Install oh-my-zsh
11+
RUN git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh \
12+
&& cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
13+
14+
ENV SHELL /bin/zsh
15+
16+
ADD target/ide-backend.jar /root
17+
ADD src/main/resources/lib /root/lib
18+
19+
WORKDIR /root
20+
CMD ["java", "-jar", "ide-backend.jar", "--PTY_LIB_FOLDER=/root/lib"]

README-en.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Coding WebIDE Backend
2+
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/Coding/WebIDE/blob/master/LICENSE) [![Build Status](https://travis-ci.org/Coding/WebIDE-Backend.svg?branch=master)](https://travis-ci.org/Coding/WebIDE-Backend) [![Docker Stars](https://img.shields.io/docker/stars/webide/backend.svg)](https://hub.docker.com/r/webide/backend 'DockerHub') [![Docker Pulls](https://img.shields.io/docker/pulls/webide/backend.svg)](https://hub.docker.com/r/webide/backend 'DockerHub')
23

34
This repo is the backend of **Coding [WebIDE](https://ide.coding.net) Community Edition**
45

@@ -33,4 +34,3 @@ Please refer to the script in `WebIDE-Workspace` repo, which provides a command
3334
If you want to pack the frontend manually, please refer to `WebIDE-Frontend-Webjars` repo.
3435

3536
Once done packing, start the poject with `mvn spring-boot:run`.
36-

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Coding WebIDE Backend
2+
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/Coding/WebIDE/blob/master/LICENSE) [![Build Status](https://travis-ci.org/Coding/WebIDE-Backend.svg?branch=master)](https://travis-ci.org/Coding/WebIDE-Backend) [![Docker Stars](https://img.shields.io/docker/stars/webide/backend.svg)](https://hub.docker.com/r/webide/backend 'DockerHub') [![Docker Pulls](https://img.shields.io/docker/pulls/webide/backend.svg)](https://hub.docker.com/r/webide/backend 'DockerHub')
23

34
本项目是开源版 [WebIDE](https://ide.coding.net) 的后端程序。
45

pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,9 @@
372372
<plugin>
373373
<groupId>org.apache.maven.plugins</groupId>
374374
<artifactId>maven-dependency-plugin</artifactId>
375+
<configuration>
376+
<skip>${skip-webjars}</skip>
377+
</configuration>
375378
<executions>
376379
<execution>
377380
<id>package-only-deps</id>
@@ -404,6 +407,7 @@
404407
<jgit-version>4.2.0.201601211800-r</jgit-version>
405408
<docker-java-version>1.3.0</docker-java-version>
406409
<jackson-jaxrs-version>2.5.4</jackson-jaxrs-version>
410+
<skip-webjars>false</skip-webjars>
407411
</properties>
408412

409413
</project>

0 commit comments

Comments
 (0)