mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-03-20 07:58:55 +00:00
scripts: dev_cli.sh Support building container before use
If `--local` is provided or if the version is not available then build the container before use. This allows combining updates to the Dockerfile with a full CI run. Drop the "--dev" parameter as we only support one container type for simplicity. Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
parent
b1f61d7286
commit
55b8a2182b
@ -118,9 +118,17 @@ ensure_build_dir() {
|
|||||||
|
|
||||||
# Make sure we're using the latest dev container, by just pulling it.
|
# Make sure we're using the latest dev container, by just pulling it.
|
||||||
ensure_latest_ctr() {
|
ensure_latest_ctr() {
|
||||||
$DOCKER_RUNTIME pull "$CTR_IMAGE"
|
if [ "$CTR_IMAGE_VERSION" = "local" ]; then
|
||||||
|
build_container
|
||||||
|
else
|
||||||
|
$DOCKER_RUNTIME pull "$CTR_IMAGE"
|
||||||
|
|
||||||
ok_or_die "Error pulling container image. Aborting."
|
if [ $? -ne 0 ]; then
|
||||||
|
build_container
|
||||||
|
fi
|
||||||
|
|
||||||
|
ok_or_die "Error pulling/building container image. Aborting."
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fix main directory permissions after a container ran as root.
|
# Fix main directory permissions after a container ran as root.
|
||||||
@ -192,7 +200,6 @@ cmd_help() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo " build-container [--type]"
|
echo " build-container [--type]"
|
||||||
echo " Build the Cloud Hypervisor container."
|
echo " Build the Cloud Hypervisor container."
|
||||||
echo " --dev Build dev container. This is the default."
|
|
||||||
echo ""
|
echo ""
|
||||||
echo " clean [<cargo args>]]"
|
echo " clean [<cargo args>]]"
|
||||||
echo " Remove the Cloud Hypervisor artifacts."
|
echo " Remove the Cloud Hypervisor artifacts."
|
||||||
@ -511,27 +518,7 @@ cmd_tests() {
|
|||||||
fix_dir_perms $?
|
fix_dir_perms $?
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd_build-container() {
|
build_container() {
|
||||||
container_type="dev"
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
"-h" | "--help") {
|
|
||||||
cmd_help
|
|
||||||
exit 1
|
|
||||||
} ;;
|
|
||||||
"--dev") { container_type="dev"; } ;;
|
|
||||||
"--") {
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
} ;;
|
|
||||||
*)
|
|
||||||
die "Unknown build-container argument: $1. Please use --help for help."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
ensure_build_dir
|
ensure_build_dir
|
||||||
|
|
||||||
BUILD_DIR=/tmp/cloud-hypervisor/container/
|
BUILD_DIR=/tmp/cloud-hypervisor/container/
|
||||||
@ -543,13 +530,34 @@ cmd_build-container() {
|
|||||||
[ "$(uname -m)" = "x86_64" ] && TARGETARCH="amd64"
|
[ "$(uname -m)" = "x86_64" ] && TARGETARCH="amd64"
|
||||||
|
|
||||||
$DOCKER_RUNTIME build \
|
$DOCKER_RUNTIME build \
|
||||||
--target $container_type \
|
--target dev \
|
||||||
-t $CTR_IMAGE \
|
-t $CTR_IMAGE \
|
||||||
-f $BUILD_DIR/Dockerfile \
|
-f $BUILD_DIR/Dockerfile \
|
||||||
--build-arg TARGETARCH=$TARGETARCH \
|
--build-arg TARGETARCH=$TARGETARCH \
|
||||||
$BUILD_DIR
|
$BUILD_DIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd_build-container() {
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
"-h" | "--help") {
|
||||||
|
cmd_help
|
||||||
|
exit 1
|
||||||
|
} ;;
|
||||||
|
"--") {
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
} ;;
|
||||||
|
*)
|
||||||
|
die "Unknown build-container argument: $1. Please use --help for help."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
build_container
|
||||||
|
}
|
||||||
|
|
||||||
cmd_shell() {
|
cmd_shell() {
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -602,6 +610,10 @@ while [ $# -gt 0 ]; do
|
|||||||
cmd_help
|
cmd_help
|
||||||
exit 1
|
exit 1
|
||||||
} ;;
|
} ;;
|
||||||
|
--local) {
|
||||||
|
CTR_IMAGE_VERSION="local"
|
||||||
|
CTR_IMAGE="${CTR_IMAGE_TAG}:${CTR_IMAGE_VERSION}"
|
||||||
|
} ;;
|
||||||
-*)
|
-*)
|
||||||
die "Unknown arg: $1. Please use \`$0 help\` for help."
|
die "Unknown arg: $1. Please use \`$0 help\` for help."
|
||||||
;;
|
;;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user