Skip to content

Commit b467e99

Browse files
committed
Добавляет деплой
1 parent 5bc06af commit b467e99

File tree

4 files changed

+76
-0
lines changed

4 files changed

+76
-0
lines changed

.github/workflows/deploy.yml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: deploy
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
deploy:
9+
runs-on: htmlacademy_runner
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v2
13+
14+
- name: Deploy
15+
run: |
16+
cd deploy/ansible
17+
ansible-playbook "deploy.yml"

deploy/ansible/ansible.cfg

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[defaults]
2+
3+
inventory=/var/ansible/inventory
4+
deprecation_warnings=false

deploy/ansible/deploy.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
- name: deploy
2+
hosts: lo_eva08
3+
gather_facts: no
4+
5+
vars:
6+
project_name: vue-third-pizza-start-source
7+
project_dir: "/usr/www/{{ project_name }}"
8+
9+
tasks:
10+
11+
- name: Create project dir
12+
file:
13+
path: "{{ project_dir }}"
14+
state: directory
15+
16+
- name: Copy project
17+
synchronize:
18+
src: "{{ playbook_dir }}/../../"
19+
dest: "{{ project_dir }}/"
20+
delete: yes
21+
recursive: yes
22+
23+
- name: Build docker image
24+
shell: |
25+
cd {{ project_dir }}/backend
26+
docker build -t {{ project_name }}:latest . --no-cache
27+
28+
- name: Restart app and remove old image
29+
shell: |
30+
img=$(docker ps -a --filter "name=^{{ project_name }}$" --format "{{.Image}}")
31+
cd {{ project_dir }}/deploy
32+
docker-compose -p {{ project_name }} down
33+
docker-compose -p {{ project_name }} up -d
34+
docker rmi $img

deploy/docker-compose.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: '3'
2+
3+
services:
4+
5+
backend:
6+
container_name: vue-third-pizza-start-source
7+
image: vue-third-pizza-start-source:latest
8+
restart: always
9+
command: npm start
10+
volumes:
11+
- ../backend:/backend
12+
- /backend/node_modules
13+
ports:
14+
- 4000:3000
15+
networks:
16+
- vue-third_network
17+
18+
networks:
19+
vue-third_network:
20+
name: vue-third_network
21+
external: true

0 commit comments

Comments
 (0)