Merge branch 'docker-registry' into 'master'

Use docker registry and CI

See merge request packmate/Packmate!14
This commit is contained in:
Sergey
2023-04-10 18:38:19 +00:00
4 changed files with 44 additions and 31 deletions

24
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,24 @@
docker-build:
image: docker:latest
stage: build
variables:
GIT_SUBMODULE_STRATEGY: normal
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- touch .env
- |
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then # master
export BUILD_TAG=latest
echo "Running on default branch '$CI_DEFAULT_BRANCH'"
else # tag
export BUILD_TAG="$CI_COMMIT_TAG"
echo "Running on tag = $BUILD_TAG"
fi
- docker compose build
- docker compose push
only:
- master
- tags

View File

@@ -1,8 +1,6 @@
version: "3.4"
services:
packmate:
packmate: # port = 65000
environment:
DB_USER: ${PACKMATE_DB_USER:-packmate}
DB_PASSWORD: ${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
DB_NAME: ${PACKMATE_DB_NAME:-packmate}
INTERFACE: ${PACKMATE_INTERFACE:-}
@@ -21,11 +19,11 @@ services:
context: .
dockerfile: docker/Dockerfile_app
network_mode: "host"
image: packmate-app:v1
image: registry.gitlab.com/packmate/packmate:${BUILD_TAG:-latest}
command: [
"java", "-Djava.net.preferIPv4Stack=true", "-Djava.net.preferIPv4Addresses=true",
"-jar", "/app/app.jar", "--spring.datasource.url=jdbc:postgresql://127.0.0.1:65001/$${DB_NAME}",
"--spring.datasource.username=$${DB_USER}", "--spring.datasource.password=$${DB_PASSWORD}",
"--spring.datasource.password=$${DB_PASSWORD}",
"--capture-mode=$${MODE}", "--pcap-file=$${PCAP_FILE}",
"--interface-name=$${INTERFACE}", "--local-ip=$${LOCAL_IP}", "--account-login=$${WEB_LOGIN}",
"--old-streams-cleanup-enabled=$${OLD_STREAMS_CLEANUP_ENABLED}", "--cleanup-interval=$${OLD_STREAMS_CLEANUP_INTERVAL}",
@@ -33,19 +31,24 @@ services:
"--account-password=$${WEB_PASSWORD}", "--server.port=65000", "--server.address=0.0.0.0"
]
depends_on:
- db
db:
db:
condition: service_healthy
db: # port = 65001
container_name: packmate-db
build:
context: .
dockerfile: docker/Dockerfile_db
args:
POSTGRES_USER: ${PACKMATE_DB_USER:-packmate}
POSTGRES_PASSWORD: ${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
POSTGRES_DB: ${PACKMATE_DB_NAME:-packmate}
environment:
POSTGRES_USER: packmate
POSTGRES_PASSWORD: ${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
POSTGRES_DB: ${PACKMATE_DB_NAME:-packmate}
env_file:
- .env
volumes:
- "./data/postgres_data:/var/lib/postgresql/data"
- "./docker/postgresql.conf:/tmp/postgresql.conf:ro"
- "./docker/update_db_config.sh:/docker-entrypoint-initdb.d/_update_db_config.sh:ro"
network_mode: "host"
image: packmate-db:v1
image: postgres:15.2
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U packmate -p 65001" ]
interval: 2s
timeout: 5s
retries: 15

View File

@@ -7,10 +7,10 @@ FROM eclipse-temurin:17-jdk
WORKDIR /tmp/compile/
COPY ./ .
COPY --from=0 /tmp/build/dist/ ./src/main/resources/static/
RUN ./gradlew --no-daemon build -x test
RUN ./gradlew --no-daemon bootJar
FROM eclipse-temurin:17-jre
WORKDIR /app
RUN apt update && apt install -y libpcap0.8
RUN apt update && apt install -y libpcap0.8 && rm -rf /var/lib/apt/lists/*
COPY --from=1 /tmp/compile/build/libs/packmate-*-SNAPSHOT.jar app.jar
EXPOSE 65000

View File

@@ -1,14 +0,0 @@
FROM postgres:15.1
ARG POSTGRES_USER
ARG POSTGRES_PASSWORD
ARG POSTGRES_DB
ENV POSTGRES_USER ${POSTGRES_USER}
ENV POSTGRES_PASSWORD ${POSTGRES_PASSWORD}
ENV POSTGRES_DB ${POSTGRES_DB}
COPY docker/postgresql.conf /tmp/postgresql.conf
COPY docker/update_db_config.sh /docker-entrypoint-initdb.d/_update_db_config.sh
EXPOSE 65001