Skip to content

Commit 17247b5

Browse files
authored
Merge pull request #85 from ovcharenko-di/feature/registry-less
Сборка без использования registry
2 parents b604f7e + 6f1456c commit 17247b5

30 files changed

+139
-77
lines changed

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Each directory represents a specific Docker image:
5252
```
5353
3. **Base image pattern**: Use registry URL pattern:
5454
```dockerfile
55-
FROM ${DOCKER_REGISTRY_URL}/base-image:tag
55+
FROM ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-image:tag
5656
```
5757
4. **Labels**: Include maintainer information
5858
5. **Layer optimization**: Combine RUN commands to minimize layers
@@ -138,7 +138,7 @@ Follow existing pattern for Make targets:
138138
## Common Patterns to Follow
139139

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

build-base-k8s-jenkins-agent.sh

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ docker build \
2626
--build-arg BASE_IMAGE=ubuntu \
2727
--build-arg BASE_TAG=20.04 \
2828
--build-arg ONESCRIPT_PACKAGES="yard" \
29-
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
29+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
3030
-f oscript/Dockerfile \
3131
$last_arg
3232

@@ -37,56 +37,67 @@ docker build \
3737
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
3838
--build-arg BASE_IMAGE=oscript-downloader \
3939
--build-arg BASE_TAG=latest \
40-
-t $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION \
40+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client:$ONEC_VERSION \
4141
-f client/Dockerfile \
4242
$last_arg
4343

44-
docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
44+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
45+
docker push "$DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION"
46+
else
47+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
48+
fi
4549

4650
docker build \
4751
--pull \
4852
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
4953
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
5054
--build-arg ONEC_VERSION=$ONEC_VERSION \
5155
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
52-
-t $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION \
56+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc:$ONEC_VERSION \
5357
-f client-vnc/Dockerfile \
5458
$last_arg
5559

56-
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
60+
61+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
62+
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
63+
else
64+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
65+
fi
5766

5867
docker build \
5968
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
6069
--build-arg BASE_IMAGE=onec-client-vnc \
6170
--build-arg BASE_TAG=$ONEC_VERSION \
62-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript:$ONEC_VERSION \
71+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript:$ONEC_VERSION \
6372
-f oscript/Dockerfile \
6473
$last_arg
6574

6675
docker build \
6776
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
6877
--build-arg BASE_IMAGE=onec-client-vnc-oscript \
6978
--build-arg BASE_TAG=$ONEC_VERSION \
70-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk:$ONEC_VERSION \
79+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk:$ONEC_VERSION \
7180
-f jdk/Dockerfile \
7281
$last_arg
7382

7483
docker build \
7584
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
7685
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk \
7786
--build-arg BASE_TAG=$ONEC_VERSION \
78-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
87+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
7988
-f test-utils/Dockerfile \
8089
$last_arg
8190

8291
docker build \
8392
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
8493
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk-testutils \
8594
--build-arg BASE_TAG=$ONEC_VERSION \
86-
-t $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION \
95+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-agent:$ONEC_VERSION \
8796
-f k8s-jenkins-agent/Dockerfile \
8897
$last_arg
8998

90-
if [[ $PUSH_AGENT != "false" ]] ; then
99+
if [[ $PUSH_AGENT != "false" ]] && [[ -n "$DOCKER_REGISTRY_URL" ]]; then
91100
docker push $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION
101+
else
102+
echo "DOCKER_REGISTRY_URL not set or PUSH_AGENT is false, skipping docker push."
92103
fi

build-base-k8s-jenkins-coverage-agent.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,12 @@ docker build \
3030
--build-arg BASE_TAG=$ONEC_VERSION \
3131
--build-arg EDT_VERSION=$EDT_VERSION \
3232
--build-arg COVERAGE41C_VERSION=$COVERAGE41C_VERSION \
33-
-t $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION \
33+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-coverage-agent:$ONEC_VERSION \
3434
-f coverage41C/Dockerfile \
3535
$last_arg
3636

37-
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
37+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
38+
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
39+
else
40+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
41+
fi

build-base-swarm-jenkins-agent.sh

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ docker build \
2626
--build-arg BASE_IMAGE=ubuntu \
2727
--build-arg BASE_TAG=20.04 \
2828
--build-arg ONESCRIPT_PACKAGES="yard" \
29-
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
29+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
3030
-f oscript/Dockerfile \
3131
$last_arg
3232

@@ -37,56 +37,67 @@ docker build \
3737
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
3838
--build-arg BASE_IMAGE=oscript-downloader \
3939
--build-arg BASE_TAG=latest \
40-
-t $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION \
40+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client:$ONEC_VERSION \
4141
-f client/Dockerfile \
4242
$last_arg
4343

44-
docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
44+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
45+
docker push $DOCKER_REGISTRY_URL/onec-client:$ONEC_VERSION
46+
else
47+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
48+
fi
4549

4650
docker build \
4751
--pull \
4852
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
4953
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
5054
--build-arg ONEC_VERSION=$ONEC_VERSION \
5155
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
52-
-t $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION \
56+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc:$ONEC_VERSION \
5357
-f client-vnc/Dockerfile \
5458
$last_arg
5559

56-
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
60+
61+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
62+
docker push $DOCKER_REGISTRY_URL/onec-client-vnc:$ONEC_VERSION
63+
else
64+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
65+
fi
5766

5867
docker build \
5968
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
6069
--build-arg BASE_IMAGE=onec-client-vnc \
6170
--build-arg BASE_TAG=$ONEC_VERSION \
62-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript:$ONEC_VERSION \
71+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript:$ONEC_VERSION \
6372
-f oscript/Dockerfile \
6473
$last_arg
6574

6675
docker build \
6776
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
6877
--build-arg BASE_IMAGE=onec-client-vnc-oscript \
6978
--build-arg BASE_TAG=$ONEC_VERSION \
70-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk:$ONEC_VERSION \
79+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk:$ONEC_VERSION \
7180
-f jdk/Dockerfile \
7281
$last_arg
7382

7483
docker build \
7584
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
7685
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk \
7786
--build-arg BASE_TAG=$ONEC_VERSION \
78-
-t $DOCKER_REGISTRY_URL/onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
87+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}onec-client-vnc-oscript-jdk-testutils:$ONEC_VERSION \
7988
-f test-utils/Dockerfile \
8089
$last_arg
8190

8291
docker build \
8392
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
8493
--build-arg BASE_IMAGE=onec-client-vnc-oscript-jdk-testutils \
8594
--build-arg BASE_TAG=$ONEC_VERSION \
86-
-t $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION \
95+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-agent:$ONEC_VERSION \
8796
-f swarm-jenkins-agent/Dockerfile \
8897
$last_arg
8998

90-
if [[ $PUSH_AGENT != "false" ]] ; then
91-
docker push $DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION
99+
if [[ $PUSH_AGENT != "false" ]] && [[ -n "$DOCKER_REGISTRY_URL" ]]; then
100+
docker push "$DOCKER_REGISTRY_URL/base-jenkins-agent:$ONEC_VERSION"
101+
else
102+
echo "DOCKER_REGISTRY_URL not set or PUSH_AGENT is false, skipping docker push."
92103
fi

build-base-swarm-jenkins-coverage-agent.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,12 @@ docker build \
3030
--build-arg BASE_TAG=$ONEC_VERSION \
3131
--build-arg EDT_VERSION=$EDT_VERSION \
3232
--build-arg COVERAGE41C_VERSION=$COVERAGE41C_VERSION \
33-
-t $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION \
33+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}base-jenkins-coverage-agent:$ONEC_VERSION \
3434
-f coverage41C/Dockerfile \
3535
$last_arg
3636

37-
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
37+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
38+
docker push $DOCKER_REGISTRY_URL/base-jenkins-coverage-agent:$ONEC_VERSION
39+
else
40+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
41+
fi

build-crs.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,25 @@ docker build \
2525
--build-arg ONEC_USERNAME=$ONEC_USERNAME \
2626
--build-arg ONEC_PASSWORD=$ONEC_PASSWORD \
2727
--build-arg ONEC_VERSION=$ONEC_VERSION \
28-
-t $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION \
28+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}crs:$ONEC_VERSION \
2929
-f crs/Dockerfile \
3030
$last_arg
3131

32-
docker push $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION
32+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
33+
docker push $DOCKER_REGISTRY_URL/crs:$ONEC_VERSION
34+
else
35+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
36+
fi
3337

3438
docker build \
3539
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
3640
--build-arg ONEC_VERSION=$ONEC_VERSION \
37-
-t $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION \
41+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}crs-apache:$ONEC_VERSION \
3842
-f crs-apache/Dockerfile \
3943
$last_arg
4044

41-
docker push $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION
45+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
46+
docker push $DOCKER_REGISTRY_URL/crs-apache:$ONEC_VERSION
47+
else
48+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
49+
fi

build-edt-k8s-agent.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ docker build \
2828
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
2929
--build-arg BASE_IMAGE=edt \
3030
--build-arg BASE_TAG=$edt_escaped \
31-
-t $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped \
32-
-f k8s-jenkins-agent/Dockerfile \
31+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt-agent:$edt_escaped \
32+
-f k8s-jenkins-agent/Dockerfile \
3333
$last_arg
3434

35-
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
35+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
36+
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
37+
else
38+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
39+
fi

build-edt-swarm-agent.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ docker build \
2828
--build-arg DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
2929
--build-arg BASE_IMAGE=edt \
3030
--build-arg BASE_TAG=$edt_escaped \
31-
-t $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped \
32-
-f swarm-jenkins-agent/Dockerfile \
31+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt-agent:$edt_escaped \
32+
-f swarm-jenkins-agent/Dockerfile \
3333
$last_arg
3434

35-
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
35+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
36+
docker push $DOCKER_REGISTRY_URL/edt-agent:$edt_escaped
37+
else
38+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
39+
fi

build-edt.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ docker build \
3838
--build-arg BASE_IMAGE=ubuntu \
3939
--build-arg BASE_TAG=20.04 \
4040
--build-arg ONESCRIPT_PACKAGES="yard" \
41-
-t $DOCKER_REGISTRY_URL/oscript-downloader:latest \
41+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}oscript-downloader:latest \
4242
-f oscript/Dockerfile \
4343
$last_arg
4444

@@ -51,6 +51,6 @@ docker build \
5151
--build-arg DOWNLOADER_REGISTRY_URL=$DOCKER_REGISTRY_URL \
5252
--build-arg DOWNLOADER_IMAGE=oscript-downloader \
5353
--build-arg DOWNLOADER_TAG=latest \
54-
-t $DOCKER_REGISTRY_URL/edt:$edt_escaped \
54+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}edt:$edt_escaped \
5555
-f edt/Dockerfile \
5656
$last_arg

build-executor.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ DOCKER_BUILDKIT=1 docker build \
3636
--secret id=dev1c_executor_api_key,src=/tmp/dev1c_executor_api_key.txt \
3737
--pull \
3838
--build-arg EXECUTOR_VERSION="$EXECUTOR_VERSION" \
39-
-t $DOCKER_REGISTRY_URL/executor:$executor_version \
39+
-t ${DOCKER_REGISTRY_URL:+"$DOCKER_REGISTRY_URL/"}executor:$executor_version \
4040
-f "executor/Dockerfile" \
4141
$last_arg
4242

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

45-
docker push $DOCKER_REGISTRY_URL/executor:$executor_version
45+
if [[ -n "$DOCKER_REGISTRY_URL" ]]; then
46+
docker push $DOCKER_REGISTRY_URL/executor:$executor_version
47+
else
48+
echo "DOCKER_REGISTRY_URL not set, skipping docker push."
49+
fi

0 commit comments

Comments
 (0)