refactoring ci/cd
Some checks failed
Build Docker / deploy (push) Failing after 1s
Build Docker / build (push) Has been skipped

This commit is contained in:
2026-03-06 22:22:41 +03:00
parent 8f6b8c99a9
commit 9b9e0a5466
9 changed files with 32 additions and 18 deletions

View File

@@ -13,7 +13,7 @@ jobs:
run: | run: |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > /tmp/id_fin echo "${{ secrets.SSH_PRIVATE_KEY }}" > /tmp/id_fin
chmod 600 /tmp/id_fin chmod 600 /tmp/id_fin
#ссылка на репо #ключ машины
- name: Create .env file - name: Create .env file
run: echo "${{ secrets.RUNNER_ENV }}" > .env run: echo "${{ secrets.RUNNER_ENV }}" > .env
#env для runners #env для runners
@@ -41,13 +41,13 @@ jobs:
run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env
#env для проекта #env для проекта
- name: Build image - name: Build image
run: docker build -t back:latest -f docker/dockerfile . run: docker build -t back:latest -f docker/dockerfile.project .
- name: Start docker-compose of project - name: Start docker-compose of project
run: docker compose --env-file .env -f docker/docker-compose.yaml up -d run: docker compose --env-file .env -f docker/docker-compose.yaml up -d
- name: Build image caddy - name: Build image caddy
run: docker build -t caddy:wedding -f docker/caddy/dockerfile . run: docker build -t caddy:wedding -f docker/caddy/dockerfile.caddy .
- name: Start docker-compose caddy - name: Start docker-compose caddy
run: docker compose -f docker/caddy/caddy.yaml up -d run: docker compose -f docker/caddy/caddy.yaml up -d

View File

@@ -1,9 +1,14 @@
- hosts: servers - name: Preflight checks and deploy wedding-site
hosts: servers
become: yes become: yes
vars: vars:
env_file: $(pwd)/.env env_file: .env
tasks:
pre_tasks:
- name: Ping server to check connectivity
ping:
tasks:
- name: Install wget - name: Install wget
apt: apt:
name: wget name: wget

View File

@@ -2,17 +2,19 @@ services:
caddy: caddy:
image: caddy:wedding image: caddy:wedding
restart: unless-stopped restart: unless-stopped
cap_add:
- NET_ADMIN
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
- "443:443/udp"
volumes: volumes:
- caddy_data:/data - caddy_data:/data
- caddy_config:/config - caddy_config:/config
networks: networks:
- docker_wedding-site-network - docker_wedding-site-network
healthcheck:
test: "curl -f https://ru.homyk.space"
interval: 5s
timeout: 30s
retries: 1
volumes: volumes:
caddy_data: caddy_data:

View File

@@ -14,7 +14,11 @@ https://ru.homyk.space {
file_server file_server
log { log {
output stdout output file /data/logs/caddy.log {
format console roll_size 5mb
roll_keep 5
roll_keep_for 72h
}
format json
} }
} }

View File

@@ -9,7 +9,11 @@ services:
- "${PORT}:${PORT}" - "${PORT}:${PORT}"
networks: networks:
- wedding-site-network - wedding-site-network
healthcheck:
test: "curl -f http://localhost:${PORT}"
interval: 5s
timeout: 30s
retries: 1
networks: networks:
wedding-site-network: wedding-site-network:
driver: bridge driver: bridge

View File

@@ -1,7 +1,10 @@
FROM python:3.13-slim FROM python:3.13-slim
WORKDIR /home/backend WORKDIR /home/backend
COPY ./ /home/backend COPY ./ /home/backend
RUN python -m pip install --upgrade pip \ RUN python -m pip install --upgrade pip \
&& python -m pip install -r requirements.txt && python -m pip install -r requirements.txt
RUN chmod +x ./docker/start.sh RUN chmod +x ./docker/start.sh
ENTRYPOINT ["./docker/start.sh"] ENTRYPOINT ["./docker/start.sh"]

View File

@@ -5,5 +5,4 @@ RUN apt-get update && apt-get install -y \
ansible \ ansible \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Проверка версий
RUN node -v && npm -v && ansible --version RUN node -v && npm -v && ansible --version

View File

@@ -1,18 +1,15 @@
# Dockerfile.runner # Dockerfile.runner
FROM node:20-bullseye FROM node:20-bullseye
# Устанавливаем зависимости
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
curl \ curl \
lsb-release \ lsb-release \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Добавляем репозиторий Docker
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \ RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
> /etc/apt/sources.list.d/docker.list \ > /etc/apt/sources.list.d/docker.list \
&& apt-get update \ && apt-get update \
&& apt-get install -y docker-ce-cli docker-compose-plugin && apt-get install -y docker-ce-cli docker-compose-plugin
# Проверка версий
RUN node -v && npm -v && docker -v && docker compose version RUN node -v && npm -v && docker -v && docker compose version