Skip to content

Commit

Permalink
BIGTOP-2679: Streamline CI Jobs
Browse files Browse the repository at this point in the history
Signed-off-by: Evans Ye <evansye@apache.org>
  • Loading branch information
oflebbe authored and evans-ye committed Jun 28, 2017
1 parent db1fb87 commit 5ea264b
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@

build
output
bigtop-packages
dl
54 changes: 54 additions & 0 deletions bigtop-ci/build.sh
Original file line number Diff line number Diff line change
@@ -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-$$
4 changes: 4 additions & 0 deletions bigtop-ci/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

. /etc/profile.d/bigtop.sh
exec ./gradlew "$@"

0 comments on commit 5ea264b

Please sign in to comment.