Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Each directory represents a specific Docker image:
```
3. **Base image pattern**: Use registry URL pattern:
```dockerfile
FROM ${DOCKER_REGISTRY_URL}/base-image:tag
FROM ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-image:tag
```
4. **Labels**: Include maintainer information
5. **Layer optimization**: Combine RUN commands to minimize layers
Expand Down Expand Up @@ -138,7 +138,7 @@ Follow existing pattern for Make targets:
## Common Patterns to Follow

### Container Naming
- Use pattern: `${DOCKER_REGISTRY_URL}/onec-<component>:${VERSION}`
- Use pattern: `${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-<component>:${VERSION}`
- Tag both specific version and 'latest'
- Use descriptive suffixes (-nls, -vnc, etc.)

Expand Down
27 changes: 18 additions & 9 deletions build-base-k8s-jenkins-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_TAG=20.04 \
--build-arg ONESCRIPT_PACKAGES="yard" \
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
-f oscript/Dockerfile \
$last_arg

Expand All @@ -37,53 +37,62 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=oscript-downloader \
--build-arg BASE_TAG=latest \
-t $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client:$ONEC_VERSION \
-f client/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push "$DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION"
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi

docker build \
--pull \
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
--build-arg ONEC_VERSION=$ONEC_VERSION \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
-t $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc:$ONEC_VERSION \
-f client-vnc/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION

if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript:$ONEC_VERSION \
-f oscript/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk:$ONEC_VERSION \
-f jdk/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
-f test-utils/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk-testutils \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-agent:$ONEC_VERSION \
-f k8s-jenkins-agent/Dockerfile \
$last_arg

Expand Down
8 changes: 6 additions & 2 deletions build-base-k8s-jenkins-coverage-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,12 @@ docker build \
--build-arg BASE_TAG=$ONEC_VERSION \
--build-arg EDT_VERSION=$EDT_VERSION \
--build-arg COVERAGE41C_VERSION=$COVERAGE41C_VERSION \
-t $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-coverage-agent:$ONEC_VERSION \
-f coverage41C/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
33 changes: 22 additions & 11 deletions build-base-swarm-jenkins-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_TAG=20.04 \
--build-arg ONESCRIPT_PACKAGES="yard" \
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
-f oscript/Dockerfile \
$last_arg

Expand All @@ -37,56 +37,67 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=oscript-downloader \
--build-arg BASE_TAG=latest \
-t $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client:$ONEC_VERSION \
-f client/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi

docker build \
--pull \
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
--build-arg ONEC_VERSION=$ONEC_VERSION \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
-t $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc:$ONEC_VERSION \
-f client-vnc/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION

if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript:$ONEC_VERSION \
-f oscript/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk:$ONEC_VERSION \
-f jdk/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
-f test-utils/Dockerfile \
$last_arg

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk-testutils \
--build-arg BASE_TAG=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-agent:$ONEC_VERSION \
-f swarm-jenkins-agent/Dockerfile \
$last_arg

if [[ $PUSH_AGENT != "false" ]] ; then
docker push $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION
if [[ "$PUSH_AGENT" != "false" && -n "$DOCKER_REGISTRY_URL" ]]; then
docker push "$DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION"
else
echo "skipping docker push."
fi
8 changes: 6 additions & 2 deletions build-base-swarm-jenkins-coverage-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,12 @@ docker build \
--build-arg BASE_TAG=$ONEC_VERSION \
--build-arg EDT_VERSION=$EDT_VERSION \
--build-arg COVERAGE41C_VERSION=$COVERAGE41C_VERSION \
-t $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-coverage-agent:$ONEC_VERSION \
-f coverage41C/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
16 changes: 12 additions & 4 deletions build-crs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,25 @@ docker build \
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
--build-arg ONEC_VERSION=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}crs:$ONEC_VERSION \
-f crs/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi

docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg ONEC_VERSION=$ONEC_VERSION \
-t $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}crs-apache:$ONEC_VERSION \
-f crs-apache/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
10 changes: 7 additions & 3 deletions build-edt-k8s-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,12 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=edt \
--build-arg BASE_TAG=$edt_escaped \
-t $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped \
-f k8s-jenkins-agent/Dockerfile \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt-agent:$edt_escaped \
-f k8s-jenkins-agent/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
10 changes: 7 additions & 3 deletions build-edt-swarm-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,12 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=edt \
--build-arg BASE_TAG=$edt_escaped \
-t $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped \
-f swarm-jenkins-agent/Dockerfile \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt-agent:$edt_escaped \
-f swarm-jenkins-agent/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
4 changes: 2 additions & 2 deletions build-edt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_TAG=20.04 \
--build-arg ONESCRIPT_PACKAGES="yard" \
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
-f oscript/Dockerfile \
$last_arg

Expand All @@ -51,6 +51,6 @@ docker build \
--build-arg DOWNLOADER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg DOWNLOADER_IMAGE=oscript-downloader \
--build-arg DOWNLOADER_TAG=latest \
-t $DOCKER_REGISTRY_URL/edt:$edt_escaped \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt:$edt_escaped \
-f edt/Dockerfile \
$last_arg
8 changes: 6 additions & 2 deletions build-executor.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,14 @@ DOCKER_BUILDKIT=1 docker build \
--secret id=dev1c_executor_api_key,src=/tmp/dev1c_executor_api_key.txt \
--pull \
--build-arg EXECUTOR_VERSION="$EXECUTOR_VERSION" \
-t $DOCKER_REGISTRY_URL/executor:$executor_version \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}executor:$executor_version \
-f "executor/Dockerfile" \
$last_arg

shred -fzu "/tmp/dev1c_executor_api_key.txt" || true

docker push $DOCKER_REGISTRY_URL/executor:$executor_version
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/executor:$executor_version
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
14 changes: 9 additions & 5 deletions build-oscript-k8s-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,21 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=library \
--build-arg BASE_IMAGE=eclipse-temurin \
--build-arg BASE_TAG=17 \
-t $DOCKER_REGISTRY_URL/oscript-jdk:latest \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-jdk:latest \
-f oscript/Dockerfile \
$last_arg

docker build \
$no_cache_arg \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=oscript-jdk \
--build-arg BASE_TAG=latest \
-t $DOCKER_REGISTRY_URL/oscript-agent:latest \
-f k8s-jenkins-agent/Dockerfile \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-agent:latest \
-f k8s-jenkins-agent/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/oscript-agent:latest
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/oscript-agent:latest
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
14 changes: 9 additions & 5 deletions build-oscript-swarm-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,21 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=library \
--build-arg BASE_IMAGE=eclipse-temurin \
--build-arg BASE_TAG=17 \
-t $DOCKER_REGISTRY_URL/oscript-jdk:latest \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-jdk:latest \
-f oscript/Dockerfile \
$last_arg

docker build \
$no_cache_arg \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=oscript-jdk \
--build-arg BASE_TAG=latest \
-t $DOCKER_REGISTRY_URL/oscript-agent:latest \
-f swarm-jenkins-agent/Dockerfile \
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-agent:latest \
-f swarm-jenkins-agent/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/oscript-agent:latest
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/oscript-agent:latest
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
10 changes: 7 additions & 3 deletions build-server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_TAG=20.04 \
--build-arg ONESCRIPT_PACKAGES="yard" \
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
-t ${DOCKER_REGISTRY_URL:+:"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
-f oscript/Dockerfile \
$last_arg

Expand All @@ -37,8 +37,12 @@ docker build \
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
--build-arg BASE_IMAGE=oscript-downloader \
--build-arg BASE_TAG=latest \
-t $DOCKER_REGISTRY_URL/onec-server:$ONEC_VERSION \
-t ${DOCKER_REGISTRY_URL:+:"$DOCKER_REGISTRY_URL/"}onec-server:$ONEC_VERSION \
-f server/Dockerfile \
$last_arg

docker push $DOCKER_REGISTRY_URL/onec-server:$ONEC_VERSION
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
docker push $DOCKER_REGISTRY_URL/onec-server:$ONEC_VERSION
else
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
fi
2 changes: 1 addition & 1 deletion client-vnc/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG DOCKER_REGISTRY_URL
ARG ONEC_VERSION
FROM ${DOCKER_REGISTRY_URL}/onec-client:${ONEC_VERSION} AS base
FROM ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client:${ONEC_VERSION} AS base

FROM debian:bookworm-slim
ARG ONEC_VERSION
Expand Down
Loading