windows docker build, package tests

This commit is contained in:
Bryan Thornbury 2015-10-22 10:13:05 -07:00
parent 94f04350f2
commit 2f8a99e26d
3 changed files with 27 additions and 19 deletions

View file

@ -10,20 +10,12 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
cd $DIR/..
# Add an option to override the Docker Host
HOST_CODE_DIR=$(pwd)
if [[ "$1" != "" ]]; then
HOST_CODE_DIR=$1
fi
# Add an option to override the Script to Run
BUILD_SCRIPT=/opt/code/build.sh
if [[ "$2" != "" ]]; then
BUILD_SCRIPT=$2
fi
[ -z "$DOTNET_BUILD_CONTAINER_TAG" ] && DOTNET_BUILD_CONTAINER_TAG="dotnetcli-build"
[ -z "$DOTNET_BUILD_CONTAINER_NAME" ] && DOTNET_BUILD_CONTAINER_NAME="dotnetcli-build-container"
[ -z "$DOCKER_HOST_SHARE_DIR" ] && DOCKER_HOST_SHARE_DIR=$(pwd)
[ -z "$BUILD_COMMAND" ] && BUILD_COMMAND="//opt\\code\\build.sh"
echo $DOCKER_HOST_SHARE_DIR
# Build the docker container (will be fast if it is already built)
docker build -t $DOTNET_BUILD_CONTAINER_TAG scripts/docker/
@ -31,7 +23,7 @@ docker build -t $DOTNET_BUILD_CONTAINER_TAG scripts/docker/
# Run the build in the container
docker rm -f $DOTNET_BUILD_CONTAINER_NAME
docker run \
-v $HOST_CODE_DIR:/opt/code \
-v $DOCKER_HOST_SHARE_DIR:/opt/code \
--name $DOTNET_BUILD_CONTAINER_NAME \
-e DOTNET_BUILD_VERSION=$DOTNET_BUILD_VERSION \
$DOTNET_BUILD_CONTAINER_TAG $BUILD_SCRIPT
$DOTNET_BUILD_CONTAINER_TAG $BUILD_COMMAND

View file

@ -30,6 +30,7 @@ execute(){
create_empty_debian_layout
copy_files_to_debian_layout
create_debian_package
test_debian_package
}
create_empty_debian_layout(){
@ -56,4 +57,17 @@ create_debian_package(){
$REPO_ROOT/package_tool/package_tool $PACKAGE_LAYOUT_DIR $PACKAGE_OUTPUT_DIR
}
test_debian_package(){
git clone https://github.com/sstephenson/bats.git /tmp/bats
pushd /tmp/bats
./install.sh /usr/local
popd
bats $PACKAGE_OUTPUT_DIR/test_package.bats
# if [[ -d "$PACKAGE_OUTPUT_DIR/integration_tests" ]]; then
# bats
# fi
}
execute

View file

@ -74,15 +74,17 @@ create_or_start_vm(){
}
copy_code_to_vm(){
echo "Copying Code to VM..."
docker-machine ssh $VM_NAME "sudo rm -rf $VM_CODE_DIR"
docker-machine scp -r $REPO_ROOT $VM_NAME:$VM_CODE_DIR >> /dev/null 2>&1
}
run_build(){
local host_code=$(_convert_path $VM_CODE_DIR)
$DIR/dockerbuild.sh $host_code //opt\\code\\build.sh
# These are env variables for dockerbuild.sh
export DOCKER_HOST_SHARE_DIR="$(_convert_path $VM_CODE_DIR)"
echo $DOCKER_HOST_SHARE_DIR
$DIR/dockerbuild.sh
}
# This will duplicate the entire repo + any side effects from
@ -92,8 +94,8 @@ copy_results_from_vm(){
T_RESULTS_DIR=${T_RESULTS_DIR#/}
mkdir $T_RESULTS_DIR
docker-machine scp -r $VM_NAME:$VM_CODE_DIR/artifacts $REPO_ROOT >> /dev/null 2>&1
docker-machine ssh $VM_NAME "sudo chmod -R a+rx $VM_CODE_DIR"
docker-machine scp -r $VM_NAME:$VM_CODE_DIR/artifacts $REPO_ROOT #>> /dev/null 2>&1
}
execute