Compare commits

...
7 Commits
Author SHA1 Message Date
Black_Raven 87b522bfa9 fixup! Merge branch 'main' into release
Build, Test and Push Flask App / deploy-release (push) Successful in 1m35s
2026-10-02 15:41:04 +03:00
Black_Raven e68f374152 Merge branch 'main' into release
Build, Test and Push Flask App / deploy-release (push) Failing after 43s
2026-10-02 15:35:52 +03:00
Black_Raven 5549840536 ci: added release push
Build, Test and Push Flask App / test (push) Successful in 39s
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 1m7s
Build, Test and Push Flask App / deploy (push) Successful in 56s
2026-10-02 15:30:10 +03:00
Black_Raven 68bb418d36 ci: added release push
Build, Test and Push Flask App / test (push) Successful in 1m17s
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 1m0s
Build, Test and Push Flask App / deploy (push) Successful in 1m9s
Build, Test and Push Flask App / deploy-release (push) Canceled after 50s
2026-10-02 15:13:37 +03:00
Black_Raven f2570732e1 fix(assets): Fix triple assets
Build, Test and Push Flask App / test (push) Successful in 1m11s
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 1m36s
Build, Test and Push Flask App / deploy (push) Successful in 1m34s
2026-09-30 21:49:47 +03:00
Black_Raven 4525ea1e19 fix(utils): Change recipear to email agaun
Build, Test and Push Flask App / test (push) Successful in 35s
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 29s
Build, Test and Push Flask App / deploy (push) Successful in 59s
2026-09-29 15:06:11 +03:00
Black_Raven 57b289caca fix(utils): Fix email sender 2026-09-29 15:05:02 +03:00
6 changed files with 69 additions and 2 deletions

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
name: Build, Test and Push Flask App
on:
push:
branches:
- release
env:
PYTHON_VERSION: '3.11'
jobs:
deploy-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Ansible
run: |
apt-get update
apt-get install -y ansible openssh-client
- name: Set up SSH key
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_RELEASE_KEY }}
run: |
mkdir -p ~/.ssh
printf '%s' "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keygen -y -f ~/.ssh/deploy_key >/dev/null
- name: Trust server host key
run: |
ssh-keyscan -H "${{ secrets.RELEASE_SERVER_IP }}" >> ~/.ssh/known_hosts
- name: Test SSH
run: |
ssh \
-i ~/.ssh/deploy_key \
-o StrictHostKeyChecking=yes \
"${{ secrets.RELEASE_SERVER_USER }}@${{ secrets.RELEASE_SERVER_IP }}" \
'echo SSH works'
- name: Run Ansible playbook
run: |
ansible-playbook \
-i "${{ secrets.RELEASE_SERVER_IP }}," \
ansible/restart_release_compose.yml \
--user "${{ secrets.RELEASE_SERVER_USER }}" \
--private-key ~/.ssh/deploy_key
+15
View File
@@ -0,0 +1,15 @@
- name: Restart Docker Compose services
hosts: all
# become: yes # <-- больше не нужно, т.к. пользователь уже имеет права Docker
tasks:
- name: docker compose down
ansible.builtin.shell:
cmd: docker compose down pvh-backend
chdir: ~/web
- name: prune system
ansible.builtin.shell:
cmd: docker system prune -a -f
- name: docker compose up -d
ansible.builtin.shell:
cmd: docker compose up -d pvh-backend
chdir: ~/web
Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 KiB

After

Width:  |  Height:  |  Size: 303 KiB

+3 -2
View File
@@ -3,7 +3,7 @@ import smtplib
from loguru import logger from loguru import logger
from email.mime.text import MIMEText from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart from email.mime.multipart import MIMEMultipart
from utils.loadDotENV import initializeENV
def send_lead_to_email(name, phone, email, diskription): def send_lead_to_email(name, phone, email, diskription):
""" """
@@ -17,12 +17,13 @@ def send_lead_to_email(name, phone, email, diskription):
Returns: Returns:
bool: True если отправка успешна, иначе False bool: True если отправка успешна, иначе False
""" """
initializeENV()
# Настройки Яндекс.Почты # Настройки Яндекс.Почты
SMTP_SERVER = "smtp.yandex.ru" SMTP_SERVER = "smtp.yandex.ru"
SMTP_PORT = 587 SMTP_PORT = 587
SENDER_EMAIL = "rkplastic@yandex.ru" SENDER_EMAIL = "rkplastic@yandex.ru"
SENDER_PASSWORD = os.environ.get('EMAIL_PASS') SENDER_PASSWORD = os.environ.get('EMAIL_PASS')
RECIPIENT_EMAIL = "w0ron.black@yandex.ru" RECIPIENT_EMAIL = "rkplastic@mail.ru"
if not SENDER_PASSWORD: if not SENDER_PASSWORD:
logger.error("❌ Не найдена переменная окружения EMAIL_PASS") logger.error("❌ Не найдена переменная окружения EMAIL_PASS")