Parameterize the docker "repository" for the dev compose

Allow to test locally by pushing/pulling to/from another account, e.g.:

```
REPOSITORY=groldan make build-multiplatform-image
```

will tag and push images as `groldan/xxx:<version>`
This commit is contained in:
Gabriel Roldan 2024-10-11 19:32:25 -03:00
parent f1f7c7be98
commit a3880c4989
17 changed files with 47 additions and 15 deletions

View File

@ -84,24 +84,26 @@ jobs:
- name: Copy config directory
# during the validate phase, the config/ dir is copied to each app's target/config
run: ./mvnw validate -ntp -T1C
run: ./mvnw validate -f src/apps -ntp -T1C
- name: Build images
# REPACKAGE=false avoids to re-package the apps during build-image
run: REPACKAGE=false make build-image
- name: Install CI dependencies
id: install-ci
run: python3 -m pip install --user --requirement=ci/requirements.txt
- name: Run acceptance tests ${{ matrix.catalog }}
id: acceptance
run: |
make acceptance-tests-${{ matrix.catalog }}
- name: Print docker compose logs
if: always()
if: steps.build.install-ci == 'success'
run: (cd compose && c2cciutils-docker-logs)
- name: Cleanup acceptance tests
if: always()
if: steps.build.acceptance != 'skipped'
run: |
make clean-acceptance-tests-${{ matrix.catalog }}

View File

@ -1,6 +1,9 @@
# docker-compose default environment variable values
REPOSITORY=geoservercloud
TAG=1.9-SNAPSHOT
ACL_REPOSITORY=geoservercloud
ACL_TAG=2.3.1
GS_USER="1000:1000"
GATEWAY_SHARED_AUTH=true

View File

@ -27,7 +27,7 @@ x-gs-dependencies: &gs-dependencies
services:
acl:
image: geoservercloud/geoserver-acl:${ACL_TAG}
image: ${ACL_REPOSITORY}/geoserver-acl:${ACL_TAG}
environment:
# Override default values in the container's /etc/geoserver/acl-service.yml
- PG_HOST=acldb
@ -65,7 +65,7 @@ services:
# microservices. Being a Discovery First Bootstrap configuration, it'll
# register itself with the Eureka discovery service and can be scaled
config:
image: geoservercloud/geoserver-cloud-config:${TAG}
image: ${REPOSITORY}/geoserver-cloud-config:${TAG}
user: ${GS_USER}
environment:
JAVA_OPTS: "${JAVA_OPTS_CONFIG}"
@ -90,7 +90,7 @@ services:
# The discovery service is the only fixed entry point.
# Browse to http://localhost:8761 to check all services are registered.
discovery:
image: geoservercloud/geoserver-cloud-discovery:${TAG}
image: ${REPOSITORY}/geoserver-cloud-discovery:${TAG}
user: ${GS_USER}
environment:
JAVA_OPTS: "${JAVA_OPTS_DISCOVERY}"
@ -109,7 +109,7 @@ services:
# Application facade, provides a single entry point routing to all
# microservices (e.g. http://localhost:9090/geoserver/wms, http://localhost:9090/geoserver/wfs, etc)
gateway:
image: geoservercloud/geoserver-cloud-gateway:${TAG}
image: ${REPOSITORY}/geoserver-cloud-gateway:${TAG}
user: ${GS_USER}
depends_on:
discovery:
@ -132,13 +132,13 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-wfs:${TAG}
image: ${REPOSITORY}/geoserver-cloud-wfs:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_WFS}"
depends_on: *gs-dependencies
wms:
image: geoservercloud/geoserver-cloud-wms:${TAG}
image: ${REPOSITORY}/geoserver-cloud-wms:${TAG}
extends:
file: templates.yml
service: gstemplate
@ -150,7 +150,7 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-wcs:${TAG}
image: ${REPOSITORY}/geoserver-cloud-wcs:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_WCS}"
depends_on: *gs-dependencies
@ -159,7 +159,7 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-wps:${TAG}
image: ${REPOSITORY}/geoserver-cloud-wps:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_WPS}"
depends_on: *gs-dependencies
@ -168,7 +168,7 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-gwc:${TAG}
image: ${REPOSITORY}/geoserver-cloud-gwc:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_GWC}"
depends_on: *gs-dependencies
@ -182,7 +182,7 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-rest:${TAG}
image: ${REPOSITORY}/geoserver-cloud-rest:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_REST}"
depends_on: *gs-dependencies
@ -191,7 +191,7 @@ services:
extends:
file: templates.yml
service: gstemplate
image: geoservercloud/geoserver-cloud-webui:${TAG}
image: ${REPOSITORY}/geoserver-cloud-webui:${TAG}
environment:
JAVA_OPTS: "${JAVA_OPTS_WEBUI}"
depends_on: *gs-dependencies

View File

@ -45,7 +45,7 @@ services:
retries: 3
admin:
image: geoservercloud/geoserver-cloud-admin-server:${TAG}
image: ${REPOSITORY}/geoserver-cloud-admin-server:${TAG}
user: ${GS_USER}
depends_on:
discovery:

View File

@ -5,6 +5,7 @@ services:
service: current-platform
image: ${REPOSITORY}/gs-cloud-base-jre:${TAG}
build:
pull: true
context: ../src/apps/base-images/jre/
spring-boot:

View File

@ -36,7 +36,11 @@ EXPOSE 8080
EXPOSE 8081
COPY --from=builder dependencies/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder snapshot-dependencies/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder spring-boot-loader/ ./
HEALTHCHECK \

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -17,4 +17,6 @@ FROM $REPOSITORY/gs-cloud-base-geoserver-image:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -16,6 +16,8 @@ FROM $REPOSITORY/gs-cloud-base-spring-boot:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./
HEALTHCHECK \

View File

@ -16,6 +16,8 @@ FROM $REPOSITORY/gs-cloud-base-spring-boot:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./
# Where jgit will try to create a .config directory

View File

@ -16,4 +16,6 @@ FROM $REPOSITORY/gs-cloud-base-spring-boot:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./

View File

@ -16,4 +16,6 @@ FROM $REPOSITORY/gs-cloud-base-spring-boot:$TAG
COPY --from=builder dependencies/ ./
COPY --from=builder snapshot-dependencies/ ./
COPY --from=builder spring-boot-loader/ ./
#see https://github.com/moby/moby/issues/37965
RUN true
COPY --from=builder application/ ./