windows docker build, package tests
This commit is contained in:
parent
94f04350f2
commit
2f8a99e26d
3 changed files with 27 additions and 19 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue