28 lines
740 B
Bash
Executable File
28 lines
740 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
workdir="$PWD/repo"
|
|
|
|
rm -rf "$workdir"
|
|
mkdir -p "$workdir"
|
|
|
|
git init "$workdir"
|
|
cd "$workdir"
|
|
|
|
git remote add origin "https://${INPUT_GIT_USER}:${INPUT_GIT_TOKEN}@${INPUT_GIT_BASE_URL}/${INPUT_GIT_REPOSITORY}.git"
|
|
git fetch --depth=1 origin "${INPUT_GIT_SHA}"
|
|
git checkout --detach FETCH_HEAD
|
|
|
|
full_image="${INPUT_IMAGE_NAME}:${INPUT_IMAGE_TAG}"
|
|
|
|
docker build \
|
|
-f "${INPUT_DOCKERFILE}" \
|
|
-t "${full_image}" \
|
|
"${INPUT_CONTEXT}"
|
|
|
|
if [ "${INPUT_PUSH}" = "true" ]; then
|
|
echo "${INPUT_REGISTRY_TOKEN}" | docker login "${INPUT_REGISTRY}" -u "${INPUT_REGISTRY_USER}" --password-stdin
|
|
docker tag "${full_image}" "${INPUT_REGISTRY}/${full_image}"
|
|
docker push "${INPUT_REGISTRY}/${full_image}"
|
|
fi
|