Adapt CI command scripts to also support podman

This commit is contained in:
Will Rouesnel
2023-05-29 16:40:07 +10:00
parent 6cf91a2e70
commit f3c740954b
7 changed files with 45 additions and 18 deletions

View File

@@ -6,12 +6,17 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DOCKER_IMAGE=jc21/nginx-full:certbot-node
# Ensure docker exists
if hash docker 2>/dev/null; then
docker pull "${DOCKER_IMAGE}"
cd "${DIR}/../.."
echo -e "${BLUE} ${CYAN}Building Frontend ...${RESET}"
docker run --rm -e CI=true -v "$(pwd)/frontend:/app/frontend" -v "$(pwd)/global:/app/global" -w /app/frontend "$DOCKER_IMAGE" sh -c "yarn install && yarn build && yarn build && chown -R $(id -u):$(id -g) /app/frontend"
echo -e "${BLUE} ${GREEN}Building Frontend Complete${RESET}"
if command -v docker 1>/dev/null 2>&1; then
docker=docker
elif command -v podman 1>/dev/null 2>&1; then
docker=podman
else
echo -e "${RED} docker command is not available${RESET}"
echo -e "${RED} docker or podman command is not available${RESET}"
exit 1
fi
$docker pull "${DOCKER_IMAGE}"
cd "${DIR}/../.."
echo -e "${BLUE} ${CYAN}Building Frontend ...${RESET}"
$docker run --rm -e CI=true -v "$(pwd)/frontend:/app/frontend" -v "$(pwd)/global:/app/global" -w /app/frontend "$DOCKER_IMAGE" sh -c "yarn install && yarn build && yarn build && chown -R $(id -u):$(id -g) /app/frontend"
echo -e "${BLUE} ${GREEN}Building Frontend Complete${RESET}"

View File

@@ -1,10 +1,21 @@
#!/bin/bash -e
DOCKER_IMAGE=jc21/nginx-full:certbot-node
docker pull "${DOCKER_IMAGE}"
# Ensure docker exists
if command -v docker 1>/dev/null 2>&1; then
docker=docker
elif command -v podman 1>/dev/null 2>&1; then
docker=podman
else
echo -e "${RED} docker or podman command is not available${RESET}"
exit 1
fi
$docker pull "${DOCKER_IMAGE}"
# Test
docker run --rm \
$docker run --rm \
-v "$(pwd)/backend:/app" \
-v "$(pwd)/global:/app/global" \
-w /app \
@@ -12,7 +23,7 @@ docker run --rm \
sh -c 'yarn install && yarn eslint . && rm -rf node_modules'
# Build
docker build --pull --no-cache --squash --compress \
$docker build --pull --no-cache --squash --compress \
-t "${IMAGE}:ci-${BUILD_NUMBER}" \
-f docker/Dockerfile \
--build-arg TARGETPLATFORM=linux/amd64 \