diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bf78b1c7..fed3979c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: REPO: "10.99.253.167:8088" PROD_NAME_API: "parr/parr-api" PROD_NAME_AIHIT: "parr/parr-aihit-syncher" + PROD_NAME_ESPP_TEMPLATE: "parr/parr-espp-template-sync" stages: - build @@ -92,3 +93,44 @@ prod_aihit_deploy: tags: - ${RUNNER} + +### ESPP TEMPLATE PROD ### +prod_espp-template_build: + stage: build + only: + - /^et[0-9]+\.[0-9]+\.[0-9]+$/ + except: + - branches + services: + - name: docker:20.10.21-dind + command: ["--insecure-registry=10.99.253.167:8090","--registry-mirror=http://10.99.253.167:8090","--insecure-registry=10.99.253.167:8088","--registry-mirror=http://10.99.253.167:8088","--tls=false"] + variables: + DOCKER_HOST: tcp://docker:2375 + DOCKER_DRIVER: overlay2 + DOCKER_TLS_CERTDIR: "" + script: + - APP_VERSION=$(echo $CI_COMMIT_TAG | tr -d et) + - IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/et/v/g') + - docker build -t $REPO/$PROD_NAME_ESPP_TEMPLATE:$IMAGE_VERSION -t $REPO/$PROD_NAME_ESPP_TEMPLATE:latest -t $PROD_NAME_ESPP_TEMPLATE:$IMAGE_VERSION -t $PROD_NAME_ESPP_TEMPLATE:latest --build-arg app_version=$APP_VERSION -f PARR.EsppTemplateSyncWorker/Dockerfile . + - docker login -u $NEXUS_PUSH_USER -p $NEXUS_PUSH_PASS $REPO + - docker push --all-tags $REPO/$PROD_NAME_ESPP_TEMPLATE + tags: + - docker-et + + +# prod_espp-template_deploy: +# stage: deploy +# environment: +# name: parr-espp-template-sync +# only: +# - /^et[0-9]+\.[0-9]+\.[0-9]+$/ +# except: +# - branches +# script: +# - IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/et/v/g') +# - tag=$IMAGE_VERSION docker compose -f docker-compose.espp-template-sync.yml up -d +# parallel: +# matrix: +# - RUNNER: shell-et-1 +# tags: +# - ${RUNNER} \ No newline at end of file diff --git a/PARR.EsppTemplateSyncWorker/Dockerfile b/PARR.EsppTemplateSyncWorker/Dockerfile new file mode 100644 index 00000000..35eeb786 --- /dev/null +++ b/PARR.EsppTemplateSyncWorker/Dockerfile @@ -0,0 +1,28 @@ +#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/runtime:7.0 AS base +WORKDIR /app + +FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build +WORKDIR /src +COPY ["NuGet.config", "."] +COPY ["PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj", "PARR.EsppTemplateSyncWorker/"] +COPY ["PARR.EsppTemplateSync/PARR.EsppTemplateSync.csproj", "PARR.EsppTemplateSync/"] +COPY ["PARR.BLL/PARR.BLL.csproj", "PARR.BLL/"] +COPY ["PARR.DAL/PARR.DAL.csproj", "PARR.DAL/"] +RUN dotnet restore "PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj" +COPY . . +WORKDIR "/src/PARR.EsppTemplateSyncWorker" +RUN dotnet build "PARR.EsppTemplateSyncWorker.csproj" -c Release -o /app/build + +FROM build AS publish +ARG app_version=0.0.0-default +RUN dotnet publish "PARR.EsppTemplateSyncWorker.csproj" -c Release -o /app/publish /p:UseAppHost=false /p:Version=$app_version + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "PARR.EsppTemplateSyncWorker.dll"] + +### EXAMPLE ### +# docker build -t parr-espp-template-sync:v1.0.0 --build-arg app_version=1.0.0 -f PARR.EsppTemplateSyncWorker/Dockerfile . \ No newline at end of file diff --git a/PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj b/PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj index 48556f65..7a0396ba 100644 --- a/PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj +++ b/PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj @@ -5,10 +5,12 @@ enable enable dotnet-PARR.EsppTemplateSyncWorker-33871a7f-fda7-4371-a369-a7ce886efbec + Linux + diff --git a/PARR.EsppTemplateSyncWorker/Properties/launchSettings.json b/PARR.EsppTemplateSyncWorker/Properties/launchSettings.json index 96aa315b..d7727559 100644 --- a/PARR.EsppTemplateSyncWorker/Properties/launchSettings.json +++ b/PARR.EsppTemplateSyncWorker/Properties/launchSettings.json @@ -1,11 +1,14 @@ -{ +{ "profiles": { "PARR.EsppTemplateSyncWorker": { "commandName": "Project", - "dotnetRunMessages": true, "environmentVariables": { "DOTNET_ENVIRONMENT": "Development" - } + }, + "dotnetRunMessages": true + }, + "Docker": { + "commandName": "Docker" } } -} +} \ No newline at end of file diff --git a/docker-compose.aihit-syncher.yml b/docker-compose.aihit-syncher.yml index 392b7a40..fb194d5e 100644 --- a/docker-compose.aihit-syncher.yml +++ b/docker-compose.aihit-syncher.yml @@ -2,7 +2,7 @@ version: '3.4' #AIHIT SYNCHER services: - mail-reader: + aihit-syncher: image: 10.99.253.167:8090/parr/parr-aihit-syncher:${tag:-latest} container_name: parr-aihit-syncher restart: always diff --git a/docker-compose.espp-template-sync.yml b/docker-compose.espp-template-sync.yml new file mode 100644 index 00000000..aadc024f --- /dev/null +++ b/docker-compose.espp-template-sync.yml @@ -0,0 +1,19 @@ +version: '3.4' + +#ESPP TEMPLATE SYNC +services: + mail-reader: + image: 10.99.253.167:8090/parr/parr-espp-template-sync:${tag:-latest} + container_name: parr-espp-template-sync + restart: always + environment: + - ASPNETCORE_ENVIRONMENT=Production + - TZ=Europe/Moscow + volumes: + - /var/log/parr-espp-template-sync:/app/log + + +# последняя версия +#docker compose -f docker-compose.aihit-syncher.yml up -d +# указанная версия +#tag=v1.0.0 docker compose -f docker-compose.aihit-syncher.yml up -d \ No newline at end of file