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/..
|
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_TAG" ] && DOTNET_BUILD_CONTAINER_TAG="dotnetcli-build"
|
||||||
[ -z "$DOTNET_BUILD_CONTAINER_NAME" ] && DOTNET_BUILD_CONTAINER_NAME="dotnetcli-build-container"
|
[ -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)
|
# Build the docker container (will be fast if it is already built)
|
||||||
docker build -t $DOTNET_BUILD_CONTAINER_TAG scripts/docker/
|
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
|
# Run the build in the container
|
||||||
docker rm -f $DOTNET_BUILD_CONTAINER_NAME
|
docker rm -f $DOTNET_BUILD_CONTAINER_NAME
|
||||||
docker run \
|
docker run \
|
||||||
-v $HOST_CODE_DIR:/opt/code \
|
-v $DOCKER_HOST_SHARE_DIR:/opt/code \
|
||||||
--name $DOTNET_BUILD_CONTAINER_NAME \
|
--name $DOTNET_BUILD_CONTAINER_NAME \
|
||||||
-e DOTNET_BUILD_VERSION=$DOTNET_BUILD_VERSION \
|
-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
|
create_empty_debian_layout
|
||||||
copy_files_to_debian_layout
|
copy_files_to_debian_layout
|
||||||
create_debian_package
|
create_debian_package
|
||||||
|
test_debian_package
|
||||||
}
|
}
|
||||||
|
|
||||||
create_empty_debian_layout(){
|
create_empty_debian_layout(){
|
||||||
|
@ -56,4 +57,17 @@ create_debian_package(){
|
||||||
$REPO_ROOT/package_tool/package_tool $PACKAGE_LAYOUT_DIR $PACKAGE_OUTPUT_DIR
|
$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
|
execute
|
||||||
|
|
|
@ -74,15 +74,17 @@ create_or_start_vm(){
|
||||||
}
|
}
|
||||||
|
|
||||||
copy_code_to_vm(){
|
copy_code_to_vm(){
|
||||||
echo "Copying Code to VM..."
|
|
||||||
docker-machine ssh $VM_NAME "sudo rm -rf $VM_CODE_DIR"
|
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
|
docker-machine scp -r $REPO_ROOT $VM_NAME:$VM_CODE_DIR >> /dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
run_build(){
|
run_build(){
|
||||||
local host_code=$(_convert_path $VM_CODE_DIR)
|
# These are env variables for dockerbuild.sh
|
||||||
$DIR/dockerbuild.sh $host_code //opt\\code\\build.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
|
# This will duplicate the entire repo + any side effects from
|
||||||
|
@ -92,8 +94,8 @@ copy_results_from_vm(){
|
||||||
T_RESULTS_DIR=${T_RESULTS_DIR#/}
|
T_RESULTS_DIR=${T_RESULTS_DIR#/}
|
||||||
|
|
||||||
mkdir $T_RESULTS_DIR
|
mkdir $T_RESULTS_DIR
|
||||||
|
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
|
docker-machine scp -r $VM_NAME:$VM_CODE_DIR/artifacts $REPO_ROOT #>> /dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
execute
|
execute
|
||||||
|
|
Loading…
Add table
Reference in a new issue