mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 16:12:49 -05:00
revamping the build scripts (#1620)
This commit is contained in:
93
scripts/build-docker
Executable file
93
scripts/build-docker
Executable file
@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
|
||||
##############################
|
||||
# Builds the docker image from a pre-built build directory
|
||||
# Arguments:
|
||||
# 1: Project Name
|
||||
# 2: Project Directory
|
||||
# 3: Docker Tag
|
||||
# 4: Docker push
|
||||
# Outputs:
|
||||
# Output to STDOUT or STDERR.
|
||||
# Returns:
|
||||
# Returned values other than the default exit status of the last command run.
|
||||
##############################
|
||||
docker_build() {
|
||||
local project_name=$1
|
||||
local project_dir=$2
|
||||
local docker_tag=$3
|
||||
local docker_push=$4
|
||||
|
||||
local project_name_lower=$(echo "$project_name" | awk '{print tolower($0)}')
|
||||
|
||||
echo "Building docker image: bitwarden/$project_name_lower:$docker_tag"
|
||||
echo "=============================="
|
||||
if [ "$project_name_lower" == "k8s-proxy" ]; then
|
||||
docker build -f $project_dir/Dockerfile-k8s -t bitwarden/$project_name_lower:$docker_tag $project_dir
|
||||
fi
|
||||
|
||||
docker build -t bitwarden/$project_name_lower:$docker_tag $project_dir
|
||||
|
||||
if [ "$docker_push" == "1" ]; then
|
||||
docker push bitwarden/$project_name_lower:$docker_tag $project_dir
|
||||
fi
|
||||
}
|
||||
|
||||
# Get Project
|
||||
PROJECT=$1; shift
|
||||
|
||||
# Get Params
|
||||
TAG="latest"
|
||||
PUSH=0
|
||||
|
||||
while [ ! $# -eq 0 ]; do
|
||||
case "$1" in
|
||||
-t | --tag)
|
||||
if [[ $2 ]]; then
|
||||
TAG="$2"
|
||||
shift
|
||||
else
|
||||
exp "--tag requires a value"
|
||||
fi
|
||||
;;
|
||||
--push) PUSH=1 ;;
|
||||
-h | --help ) usage && exit ;;
|
||||
*) usage && exit ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
case "$PROJECT" in
|
||||
"api" | "Api") docker_build Api $PWD/src/Api $TAG $PUSH ;;
|
||||
"admin" | "Admin") docker_build Admin $PWD/src/Admin $TAG $PUSH ;;
|
||||
"identity" | "Identity") docker_build Identity $PWD/src/Identity $TAG $PUSH ;;
|
||||
"events" | "Events") docker_build Events $PWD/src/Events $TAG $PUSH ;;
|
||||
#"billing" | "Billing") docker_build Billing $PWD/src/Billing $TAG $PUSH ;;
|
||||
"sso" | "Sso") docker_build Sso $PWD/bitwarden_license/src/Sso $TAG $PUSH ;;
|
||||
"server" | "Server") docker_build Server $PWD/util/Server $TAG $PUSH ;;
|
||||
"nginx" | "Nginx") docker_build Nginx $PWD/util/Nginx $TAG $PUSH ;;
|
||||
"k8s-proxy" | "K8s-Proxy") docker_build K8s-Proxy $PWD/util/Nginx $TAG $PUSH ;;
|
||||
"attachments" | "Attachments") docker_build Attachemnts $PWD/util/Attachments $TAG $PUSH ;;
|
||||
"icons" | "Icons") docker_build Icons $PWD/src/Icons $TAG $PUSH ;;
|
||||
"notifications" | "Notifications") docker_build Notifications $PWD/src/Notifications $TAG $PUSH ;;
|
||||
"mssql" | "MsSql" | "Mssql") docker_build MsSql $PWD/util/MsSql $TAG $PUSH ;;
|
||||
"seteup" | "Setup") docker_build Setup $PWD/util/Setup $TAG $PUSH
|
||||
"eventsprocessor" | "EventsProcessor") docker_build EventsProcessor $PWD/src/EventsProcessor $TAG $PUSH
|
||||
"")
|
||||
docker_build Api $PWD/src/Api $TAG $PUSH
|
||||
docker_build Admin $PWD/src/Admin $TAG $PUSH
|
||||
docker_build Identity $PWD/src/Identity $TAG $PUSH
|
||||
docker_build Events $PWD/src/Events $TAG $PUSH
|
||||
#docker_build Billing $PWD/src/Billing $TAG $PUSH
|
||||
docker_build Sso $PWD/bitwarden_license/src/Sso $TAG $PUSH
|
||||
docker_build Server $PWD/util/Server $TAG $PUSH
|
||||
docker_build Nginx $PWD/util/Nginx $TAG $PUSH
|
||||
docker_build Attachemnts $PWD/util/Attachments $TAG $PUSH
|
||||
docker_build Icons $PWD/src/Icons $TAG $PUSH
|
||||
docker_build Notifications $PWD/src/Notifications $TAG $PUSH
|
||||
docker_build MsSql $PWD/util/MsSql $TAG $PUSH$TAG $PUSH
|
||||
docker_build Setup $PWD/util/Setup $TAG $PUSH
|
||||
docker_build EventsProcessor $PWD/src/EventsProcessor $TAG $PUSH
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user