2023-08-11 18:54:00 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
. resource/runner/scripts/common.sh
|
|
|
|
|
|
|
|
# version
|
|
|
|
VERSION="$(cat VERSION)"
|
|
|
|
log_info "VERSION: $VERSION"
|
|
|
|
|
|
|
|
function build_base() {
|
|
|
|
log_info "[+] Building Base Images"
|
2023-12-18 20:55:37 +08:00
|
|
|
pushd resource/runner || exit 1
|
2023-08-11 18:54:00 +08:00
|
|
|
$DOCKER build -t git.0x7f.app/woj/ubuntu-full:latest -f scripts/ubuntu-full.Dockerfile . ||
|
2024-02-19 13:45:06 +08:00
|
|
|
{ log_error "Build Full Image failed"; exit 1; }
|
2023-08-11 18:54:00 +08:00
|
|
|
$DOCKER build -t git.0x7f.app/woj/ubuntu-run:latest -f scripts/ubuntu-run.Dockerfile . ||
|
2024-02-19 13:45:06 +08:00
|
|
|
{ log_error "Build Tiny Image failed"; exit 1; }
|
2023-12-23 19:59:59 +08:00
|
|
|
popd || exit 1
|
2023-08-11 18:54:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function push_base() {
|
|
|
|
log_info "[+] Pushing Base Images"
|
|
|
|
$DOCKER push "git.0x7f.app/woj/ubuntu-full:latest"
|
|
|
|
$DOCKER push "git.0x7f.app/woj/ubuntu-run:latest"
|
|
|
|
}
|
|
|
|
|
|
|
|
function build_server() {
|
|
|
|
log_info "[+] Building Server"
|
2023-12-22 15:26:39 +08:00
|
|
|
$DOCKER build -t "git.0x7f.app/woj/woj-server:latest" -f Server.Dockerfile . ||
|
2024-02-19 13:45:06 +08:00
|
|
|
{ log_error "[!] Failed to build Server"; exit 1; }
|
2023-08-11 18:54:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function build_runner() {
|
|
|
|
log_info "[+] Building Runner"
|
|
|
|
$DOCKER build \
|
2024-01-27 19:11:26 +08:00
|
|
|
--cap-add=sys_admin \
|
2023-08-11 18:54:00 +08:00
|
|
|
--security-opt label=disable \
|
2023-12-22 15:26:39 +08:00
|
|
|
-t "git.0x7f.app/woj/woj-runner:latest" \
|
2023-08-11 18:54:00 +08:00
|
|
|
-f Runner.Dockerfile . ||
|
2024-02-19 13:45:06 +08:00
|
|
|
{ log_error "[!] Failed to build Runner"; exit 1; }
|
2023-08-11 18:54:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function push_server() {
|
|
|
|
log_info "[+] Pushing Server Images"
|
2023-12-22 15:26:39 +08:00
|
|
|
$DOCKER push "git.0x7f.app/woj/woj-server:latest"
|
|
|
|
$DOCKER tag "git.0x7f.app/woj/woj-server:latest" "git.0x7f.app/woj/woj-server:$VERSION"
|
2023-08-11 18:54:00 +08:00
|
|
|
$DOCKER push "git.0x7f.app/woj/woj-server:$VERSION"
|
|
|
|
}
|
|
|
|
|
|
|
|
function push_runner() {
|
|
|
|
log_info "[+] Pushing Runner Images"
|
2023-12-22 15:26:39 +08:00
|
|
|
$DOCKER push "git.0x7f.app/woj/woj-runner:latest"
|
|
|
|
$DOCKER tag "git.0x7f.app/woj/woj-runner:latest" "git.0x7f.app/woj/woj-runner:$VERSION"
|
2023-08-11 18:54:00 +08:00
|
|
|
$DOCKER push "git.0x7f.app/woj/woj-runner:$VERSION"
|
|
|
|
}
|
|
|
|
|
2023-12-23 19:59:59 +08:00
|
|
|
if [ "$1" == "base" ]; then
|
|
|
|
build_base
|
|
|
|
push_base
|
|
|
|
exit 0
|
|
|
|
elif [ "$1" == "server" ]; then
|
|
|
|
build_server
|
|
|
|
push_server
|
|
|
|
exit 0
|
|
|
|
elif [ "$1" == "runner" ]; then
|
|
|
|
build_runner
|
|
|
|
push_runner
|
|
|
|
exit 0
|
|
|
|
elif [ "$1" == "all" ]; then
|
|
|
|
build_base
|
|
|
|
push_base
|
|
|
|
build_server
|
|
|
|
push_server
|
|
|
|
build_runner
|
|
|
|
push_runner
|
|
|
|
exit 0
|
|
|
|
else
|
|
|
|
log_error "Usage: $0 [base|server|runner|all]"
|
|
|
|
exit 1
|
|
|
|
fi
|