refactoring ci/cd
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -37,4 +42,4 @@
|
|||||||
creates: /opt/infra/node-docker.yaml
|
creates: /opt/infra/node-docker.yaml
|
||||||
|
|
||||||
- name: Start node-docker
|
- 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
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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"]
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user