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: |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > /tmp/id_fin
chmod 600 /tmp/id_fin
#ссылка на репо
#ключ машины
- name: Create .env file
run: echo "${{ secrets.RUNNER_ENV }}" > .env
#env для runners
@@ -41,13 +41,13 @@ jobs:
run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env
#env для проекта
- 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
run: docker compose --env-file .env -f docker/docker-compose.yaml up -d
- 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
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
vars:
env_file: $(pwd)/.env
tasks:
env_file: .env
pre_tasks:
- name: Ping server to check connectivity
ping:
tasks:
- name: Install wget
apt:
name: wget
@@ -37,4 +42,4 @@
creates: /opt/infra/node-docker.yaml
- name: Start node-docker
shell: docker-compose -f /opt/infra/node-docker.yaml up -d
shell: docker-compose -f /opt/infra/node-docker.yaml up -d

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,18 +1,15 @@
# Dockerfile.runner
FROM node:20-bullseye
# Устанавливаем зависимости
RUN apt-get update && apt-get install -y \
curl \
lsb-release \
&& 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 \
&& 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 \
&& apt-get update \
&& apt-get install -y docker-ce-cli docker-compose-plugin
# Проверка версий
RUN node -v && npm -v && docker -v && docker compose version