Compare commits
10 Commits
c9c629767e
...
39708cf340
| Author | SHA1 | Date | |
|---|---|---|---|
| 39708cf340 | |||
| b99260e227 | |||
| 7271484c7f | |||
| cb45c8a312 | |||
| 37997bb356 | |||
| 9955ae191a | |||
| 0c5b85e63c | |||
| 98a7eb73e4 | |||
| ee00bafd31 | |||
| 441cb24b8d |
@@ -11,6 +11,7 @@ env:
|
|||||||
API_IMAGE: apps/myai-api
|
API_IMAGE: apps/myai-api
|
||||||
CV_MATCHER_API_IMAGE: apps/myai-cv-matcher-api
|
CV_MATCHER_API_IMAGE: apps/myai-cv-matcher-api
|
||||||
RAG_API_IMAGE: apps/myai-rag-api
|
RAG_API_IMAGE: apps/myai-rag-api
|
||||||
|
EMAIL_API_IMAGE: apps/myai-email-api
|
||||||
WEB_IMAGE: apps/myai-web
|
WEB_IMAGE: apps/myai-web
|
||||||
CV_CLEANUP_JOB_IMAGE: apps/myai-cv-cleanup-job
|
CV_CLEANUP_JOB_IMAGE: apps/myai-cv-cleanup-job
|
||||||
CV_SEARCH_JOB_IMAGE: apps/myai-cv-search-job
|
CV_SEARCH_JOB_IMAGE: apps/myai-cv-search-job
|
||||||
@@ -45,6 +46,10 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
docker build -f Apis/rag-api/Dockerfile -t "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}" .
|
docker build -f Apis/rag-api/Dockerfile -t "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}" .
|
||||||
|
|
||||||
|
- name: Build Email API image
|
||||||
|
run: |
|
||||||
|
docker build -f Apis/email-api/Dockerfile -t "${REGISTRY_HOST}/${EMAIL_API_IMAGE}:${IMAGE_TAG}" .
|
||||||
|
|
||||||
- name: Build Web image
|
- name: Build Web image
|
||||||
run: |
|
run: |
|
||||||
docker build -f web/Dockerfile -t "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" .
|
docker build -f web/Dockerfile -t "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" .
|
||||||
@@ -69,6 +74,10 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
docker push "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}"
|
docker push "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}"
|
||||||
|
|
||||||
|
- name: Push Email API image
|
||||||
|
run: |
|
||||||
|
docker push "${REGISTRY_HOST}/${EMAIL_API_IMAGE}:${IMAGE_TAG}"
|
||||||
|
|
||||||
- name: Push Web image
|
- name: Push Web image
|
||||||
run: |
|
run: |
|
||||||
docker push "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}"
|
docker push "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}"
|
||||||
|
|||||||
+7
-2
@@ -2,10 +2,13 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
|||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
COPY Apis/api/api.csproj Apis/api/
|
COPY Apis/api/api.csproj Apis/api/
|
||||||
COPY Apis/common/common.csproj Apis/common/
|
|
||||||
COPY Apis/api-models/api-models.csproj Apis/api-models/
|
COPY Apis/api-models/api-models.csproj Apis/api-models/
|
||||||
|
COPY Apis/email-api-data/email-api-data.csproj Apis/email-api-data/
|
||||||
|
COPY Apis/email-api-models/email-api-models.csproj Apis/email-api-models/
|
||||||
COPY Apis/cv-matcher-api-models/cv-matcher-api-models.csproj Apis/cv-matcher-api-models/
|
COPY Apis/cv-matcher-api-models/cv-matcher-api-models.csproj Apis/cv-matcher-api-models/
|
||||||
|
COPY Apis/common/common.csproj Apis/common/
|
||||||
COPY Apis/myai-data/myai-data.csproj Apis/myai-data/
|
COPY Apis/myai-data/myai-data.csproj Apis/myai-data/
|
||||||
COPY Apis/shared-data/shared-data.csproj Apis/shared-data/
|
COPY Apis/shared-data/shared-data.csproj Apis/shared-data/
|
||||||
COPY Helpers/startup-helpers/startup-helpers.csproj Helpers/startup-helpers/
|
COPY Helpers/startup-helpers/startup-helpers.csproj Helpers/startup-helpers/
|
||||||
@@ -13,9 +16,11 @@ COPY Helpers/startup-helpers/startup-helpers.csproj Helpers/startup-helpers/
|
|||||||
RUN dotnet restore Apis/api/api.csproj
|
RUN dotnet restore Apis/api/api.csproj
|
||||||
|
|
||||||
COPY Apis/api/ Apis/api/
|
COPY Apis/api/ Apis/api/
|
||||||
COPY Apis/common/ Apis/common/
|
|
||||||
COPY Apis/api-models/ Apis/api-models/
|
COPY Apis/api-models/ Apis/api-models/
|
||||||
|
COPY Apis/email-api-data/ Apis/email-api-data/
|
||||||
|
COPY Apis/email-api-models/ Apis/email-api-models/
|
||||||
COPY Apis/cv-matcher-api-models/ Apis/cv-matcher-api-models/
|
COPY Apis/cv-matcher-api-models/ Apis/cv-matcher-api-models/
|
||||||
|
COPY Apis/common/ Apis/common/
|
||||||
COPY Apis/myai-data/ Apis/myai-data/
|
COPY Apis/myai-data/ Apis/myai-data/
|
||||||
COPY Apis/shared-data/ Apis/shared-data/
|
COPY Apis/shared-data/ Apis/shared-data/
|
||||||
COPY Helpers/startup-helpers/ Helpers/startup-helpers/
|
COPY Helpers/startup-helpers/ Helpers/startup-helpers/
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
|||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
COPY Apis/cv-matcher-api/cv-matcher-api.csproj Apis/cv-matcher-api/
|
COPY Apis/cv-matcher-api/cv-matcher-api.csproj Apis/cv-matcher-api/
|
||||||
COPY Apis/cv-search-data/cv-search-data.csproj Apis/cv-search-data/
|
COPY Apis/cv-search-data/cv-search-data.csproj Apis/cv-search-data/
|
||||||
COPY Apis/cv-matcher-data/cv-matcher-data.csproj Apis/cv-matcher-data/
|
COPY Apis/cv-matcher-data/cv-matcher-data.csproj Apis/cv-matcher-data/
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ ARG BUILD_CONFIGURATION=Release
|
|||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
COPY Apis/email-api/email-api.csproj Apis/email-api/
|
COPY Apis/email-api/email-api.csproj Apis/email-api/
|
||||||
|
COPY Apis/email-api-data/email-api-data.csproj Apis/email-api-data/
|
||||||
COPY Apis/email-api-models/email-api-models.csproj Apis/email-api-models/
|
COPY Apis/email-api-models/email-api-models.csproj Apis/email-api-models/
|
||||||
COPY Apis/api-models/api-models.csproj Apis/api-models/
|
COPY Apis/api-models/api-models.csproj Apis/api-models/
|
||||||
COPY Apis/common/common.csproj Apis/common/
|
COPY Apis/common/common.csproj Apis/common/
|
||||||
@@ -13,6 +14,7 @@ COPY Directory.Packages.props ./
|
|||||||
RUN dotnet restore Apis/email-api/email-api.csproj
|
RUN dotnet restore Apis/email-api/email-api.csproj
|
||||||
|
|
||||||
COPY Apis/email-api/ Apis/email-api/
|
COPY Apis/email-api/ Apis/email-api/
|
||||||
|
COPY Apis/email-api-data/ Apis/email-api-data/
|
||||||
COPY Apis/email-api-models/ Apis/email-api-models/
|
COPY Apis/email-api-models/ Apis/email-api-models/
|
||||||
COPY Apis/api-models/ Apis/api-models/
|
COPY Apis/api-models/ Apis/api-models/
|
||||||
COPY Apis/common/ Apis/common/
|
COPY Apis/common/ Apis/common/
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
|
|
||||||
COPY Apis/rag-api/rag-api.csproj Apis/rag-api/
|
COPY Apis/rag-api/rag-api.csproj Apis/rag-api/
|
||||||
COPY Apis/rag-data/rag-data.csproj Apis/rag-data/
|
COPY Apis/rag-data/rag-data.csproj Apis/rag-data/
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
|
|
||||||
COPY Jobs/cv-cleanup-job/cv-cleanup-job.csproj Jobs/cv-cleanup-job/
|
COPY Jobs/cv-cleanup-job/cv-cleanup-job.csproj Jobs/cv-cleanup-job/
|
||||||
COPY Jobs/job-scheduler/job-scheduler.csproj Jobs/job-scheduler/
|
COPY Jobs/job-scheduler/job-scheduler.csproj Jobs/job-scheduler/
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
|
|
||||||
COPY Jobs/cv-search-job/cv-search-job.csproj Jobs/cv-search-job/
|
COPY Jobs/cv-search-job/cv-search-job.csproj Jobs/cv-search-job/
|
||||||
COPY Jobs/job-scheduler/job-scheduler.csproj Jobs/job-scheduler/
|
COPY Jobs/job-scheduler/job-scheduler.csproj Jobs/job-scheduler/
|
||||||
COPY Apis/cv-search-data/cv-search-data.csproj Apis/cv-search-data/
|
COPY Apis/cv-search-data/cv-search-data.csproj Apis/cv-search-data/
|
||||||
COPY Apis/cv-matcher-api-models/cv-matcher-api-models.csproj Apis/cv-matcher-api-models/
|
COPY Apis/cv-matcher-api-models/cv-matcher-api-models.csproj Apis/cv-matcher-api-models/
|
||||||
|
COPY Apis/email-api-data/email-api-data.csproj Apis/email-api-data/
|
||||||
|
COPY Apis/email-api-models/email-api-models.csproj Apis/email-api-models/
|
||||||
COPY Apis/common/common.csproj Apis/common/
|
COPY Apis/common/common.csproj Apis/common/
|
||||||
COPY Apis/myai-data/myai-data.csproj Apis/myai-data/
|
COPY Apis/myai-data/myai-data.csproj Apis/myai-data/
|
||||||
COPY Apis/shared-data/shared-data.csproj Apis/shared-data/
|
COPY Apis/shared-data/shared-data.csproj Apis/shared-data/
|
||||||
@@ -17,6 +20,8 @@ COPY Jobs/cv-search-job/ Jobs/cv-search-job/
|
|||||||
COPY Jobs/job-scheduler/ Jobs/job-scheduler/
|
COPY Jobs/job-scheduler/ Jobs/job-scheduler/
|
||||||
COPY Apis/cv-search-data/ Apis/cv-search-data/
|
COPY Apis/cv-search-data/ Apis/cv-search-data/
|
||||||
COPY Apis/cv-matcher-api-models/ Apis/cv-matcher-api-models/
|
COPY Apis/cv-matcher-api-models/ Apis/cv-matcher-api-models/
|
||||||
|
COPY Apis/email-api-data/ Apis/email-api-data/
|
||||||
|
COPY Apis/email-api-models/ Apis/email-api-models/
|
||||||
COPY Apis/common/ Apis/common/
|
COPY Apis/common/ Apis/common/
|
||||||
COPY Apis/myai-data/ Apis/myai-data/
|
COPY Apis/myai-data/ Apis/myai-data/
|
||||||
COPY Apis/shared-data/ Apis/shared-data/
|
COPY Apis/shared-data/ Apis/shared-data/
|
||||||
|
|||||||
@@ -21,6 +21,15 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
|
email-api:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Apis/email-api/Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8083:8080"
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
api:
|
api:
|
||||||
build:
|
build:
|
||||||
context: ..
|
context: ..
|
||||||
|
|||||||
@@ -110,9 +110,11 @@ def start_docker_compose():
|
|||||||
log(f"ERROR: docker-compose file not found at {docker_compose_path}", "ERROR")
|
log(f"ERROR: docker-compose file not found at {docker_compose_path}", "ERROR")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
returncode, stdout, stderr = run_command(
|
# Include both main compose file and override file for local builds
|
||||||
f"docker compose -f {DOCKER_COMPOSE_FILE} up --build -d"
|
override_file = os.path.join(os.path.dirname(DOCKER_COMPOSE_FILE), "docker-compose.override.yml")
|
||||||
)
|
compose_cmd = f"docker compose -f {DOCKER_COMPOSE_FILE} -f {override_file} up --build -d"
|
||||||
|
|
||||||
|
returncode, stdout, stderr = run_command(compose_cmd)
|
||||||
|
|
||||||
if returncode != 0:
|
if returncode != 0:
|
||||||
log(f"ERROR: Failed to start Docker Compose: {stderr}", "ERROR")
|
log(f"ERROR: Failed to start Docker Compose: {stderr}", "ERROR")
|
||||||
@@ -129,7 +131,9 @@ def stop_docker_compose():
|
|||||||
return
|
return
|
||||||
|
|
||||||
log("Stopping Docker Compose...")
|
log("Stopping Docker Compose...")
|
||||||
run_command("docker compose -f {DOCKER_COMPOSE_FILE} down")
|
override_file = os.path.join(os.path.dirname(DOCKER_COMPOSE_FILE), "docker-compose.override.yml")
|
||||||
|
compose_cmd = f"docker compose -f {DOCKER_COMPOSE_FILE} -f {override_file} down"
|
||||||
|
run_command(compose_cmd)
|
||||||
|
|
||||||
|
|
||||||
def initialize_chrome_driver():
|
def initialize_chrome_driver():
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
COPY Directory.Packages.props ./
|
||||||
|
|
||||||
COPY web/web.csproj web/
|
COPY web/web.csproj web/
|
||||||
RUN dotnet restore web/web.csproj
|
RUN dotnet restore web/web.csproj
|
||||||
|
|||||||
Reference in New Issue
Block a user