diff options
author | Olaf Flebbe <of@oflebbe.de> | 2017-01-29 15:51:01 +0100 |
---|---|---|
committer | Evans Ye <evansye@apache.org> | 2017-06-28 22:42:55 +0800 |
commit | 5ea264beee555c55816dc775981900e747025cca (patch) | |
tree | 356747cf61151bec581aa4fd84f0d1b0b5281ede | |
parent | db1fb87e314b59120fb9425a17a0e095080befd1 (diff) |
BIGTOP-2679: Streamline CI Jobs
Signed-off-by: Evans Ye <evansye@apache.org>
-rw-r--r-- | .dockerignore | 1 | ||||
-rwxr-xr-x | bigtop-ci/build.sh | 54 | ||||
-rwxr-xr-x | bigtop-ci/entrypoint.sh | 4 |
3 files changed, 58 insertions, 1 deletions
diff --git a/.dockerignore b/.dockerignore index a7b219a4..150d143f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,5 +15,4 @@ build output -bigtop-packages dl diff --git a/bigtop-ci/build.sh b/bigtop-ci/build.sh new file mode 100755 index 00000000..fc1f52f6 --- /dev/null +++ b/bigtop-ci/build.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +while [[ $# -gt 1 ]] +do +key="$1" +case $key in + -t|--target) + TARGET="$2" + shift + ;; + -o|--os) + OS="$2" + shift + ;; + -n|--nexus) + NEXUS="--net=container:nexus" + CONFIGURE_NEXUS="configure-nexus" + shift + ;; + *) + echo "usage build.sh --os debian-8|centos-7|... --target hadoop|tez|..." + exit 1 # unknown option + ;; +esac +shift +done + +# prepare source image +cat >Dockerfile <<EOF +FROM bigtop/slaves:$OS +# copy source to container +COPY . /var/lib/jenkins/bigtop +# make it belong to compile account +RUN chown -R jenkins /var/lib/jenkins/bigtop +# define default user jenkins +USER jenkins +WORKDIR /var/lib/jenkins/bigtop +ENTRYPOINT [ "bigtop-ci/entrypoint.sh" ] +# initialize gradle +RUN bigtop-ci/entrypoint.sh +# make it a volume, performancewise +VOLUME /var/lib/jenkins +EOF + +# build source image +docker build -t image-$OS . + +# run build +docker run --name container-$OS-$TARGET-$$ $NEXUS image-$OS $CONFIGURE_NEXUS $TARGET + +# save result +mkdir -p output +docker cp container-$OS-$TARGET-$$:/var/lib/jenkins/bigtop/output . +docker rm -v container-$OS-$TARGET-$$ diff --git a/bigtop-ci/entrypoint.sh b/bigtop-ci/entrypoint.sh new file mode 100755 index 00000000..bc580e10 --- /dev/null +++ b/bigtop-ci/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +. /etc/profile.d/bigtop.sh +exec ./gradlew "$@" |