Quote Bot CI/CD Pipeline / check (push) Canceled after 0s
Quote Bot CI/CD Pipeline / Security Scan (push) Canceled after 0s
Quote Bot CI/CD Pipeline / Build and push to Docker Hub (push) Canceled after 0s
Quote Bot CI/CD Pipeline / Deploy to VPS via Ansible (push) Canceled after 0s
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
# deploy.yml
|
|
- name: Автоматический деплой Telegram-бота
|
|
hosts: all
|
|
|
|
|
|
vars:
|
|
image_name: "leor156/quote-bot:{{ image_tag | default('latest') }}"
|
|
container_name: "quote-bot"
|
|
container_state: "started"
|
|
|
|
tasks:
|
|
- name: Устанавливаем Docker и библиотеку для Python
|
|
apt:
|
|
name:
|
|
- docker.io
|
|
- python3-docker
|
|
state: present
|
|
update_cache: yes
|
|
|
|
- name: Убеждаемся, что Docker запущен
|
|
service:
|
|
name: docker
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Скачиваем образ бота с Docker Hub
|
|
community.docker.docker_image:
|
|
name: "{{ image_name }}"
|
|
source: pull
|
|
|
|
- name: Создать папку, если она отсутствует
|
|
ansible.builtin.file:
|
|
path: /opt/quote-bot
|
|
state: directory
|
|
mode: '0700'
|
|
|
|
- name: Копируем .env файл на сервер
|
|
copy:
|
|
src: ../.env
|
|
dest: /opt/quote-bot/.env
|
|
|
|
- name: Запускаем контейнер
|
|
community.docker.docker_container:
|
|
name: "{{ container_name }}"
|
|
image: "{{ image_name }}"
|
|
state: "{{ container_state }}"
|
|
restart_policy: unless-stopped
|
|
pull: always
|
|
env_file: /opt/quote-bot/.env
|
|
|
|
- name: Чистка
|
|
community.docker.docker_prune:
|
|
images: yes
|
|
images_filters:
|
|
dangling: true
|
|
|
|
|