64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: Build and Push Docker Images
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
env:
|
|
GIT_HOST: git.easysoft.ro
|
|
REGISTRY_HOST: registry.easysoft.ro
|
|
API_IMAGE: apps/myai-api
|
|
CV_MATCHER_API_IMAGE: apps/myai-cv-matcher-api
|
|
RAG_API_IMAGE: apps/myai-rag-api
|
|
WEB_IMAGE: apps/myai-web
|
|
IMAGE_TAG: staging
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: host
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
env:
|
|
TOKEN: ${{ secrets.REPO_TOKEN }}
|
|
run: |
|
|
git clone "http://gelu:${TOKEN}@${GIT_HOST}:3000/${GITHUB_REPOSITORY}.git" .
|
|
|
|
- name: Login to registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${REGISTRY_HOST}" \
|
|
-u "${{ secrets.REGISTRY_USER }}" \
|
|
--password-stdin
|
|
|
|
- name: Build API image
|
|
run: |
|
|
docker build -f api/Dockerfile -t "${REGISTRY_HOST}/${API_IMAGE}:${IMAGE_TAG}" .
|
|
|
|
- name: Build CV Matcher API image
|
|
run: |
|
|
docker build -f cv-matcher-api/Dockerfile -t "${REGISTRY_HOST}/${CV_MATCHER_API_IMAGE}:${IMAGE_TAG}" .
|
|
|
|
- name: Build RAG API image
|
|
run: |
|
|
docker build -f rag-api/Dockerfile -t "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}" .
|
|
|
|
- name: Build Web image
|
|
run: |
|
|
docker build -f web/Dockerfile -t "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" .
|
|
|
|
- name: Push API image
|
|
run: |
|
|
docker push "${REGISTRY_HOST}/${API_IMAGE}:${IMAGE_TAG}"
|
|
|
|
- name: Push CV Matcher API image
|
|
run: |
|
|
docker push "${REGISTRY_HOST}/${CV_MATCHER_API_IMAGE}:${IMAGE_TAG}"
|
|
|
|
- name: Push RAG API image
|
|
run: |
|
|
docker push "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}"
|
|
|
|
- name: Push Web image
|
|
run: |
|
|
docker push "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" |