|
|
|
@ -3,32 +3,32 @@ type: docker |
|
|
|
name: build-and-deploy |
|
|
|
name: build-and-deploy |
|
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
steps: |
|
|
|
#1. Install dependencies and build the project |
|
|
|
# 1. Install dependencies and build the project |
|
|
|
name: install_and_build |
|
|
|
- name: install_and_build |
|
|
|
image: node:18 # Используем подходящий образ Node.js |
|
|
|
image: node:18 # Используем подходящий образ Node.js |
|
|
|
commands: |
|
|
|
commands: |
|
|
|
- npm install |
|
|
|
- npm install |
|
|
|
- npm run build |
|
|
|
- npm run build |
|
|
|
volumes: |
|
|
|
volumes: |
|
|
|
- name: build |
|
|
|
- name: build |
|
|
|
path: /drone/src |
|
|
|
path: /drone/src |
|
|
|
#2. Deploy Docker container with Nginx and copy build files |
|
|
|
# 2. Deploy Docker container with Nginx and copy build files |
|
|
|
name: deploy |
|
|
|
- name: deploy |
|
|
|
image: docker:24.0.2 # Используем образ Docker для управления контейнерами |
|
|
|
image: docker:24.0.2 # Используем образ Docker для управления контейнерами |
|
|
|
volumes: |
|
|
|
volumes: |
|
|
|
- name: build |
|
|
|
- name: build |
|
|
|
path: /drone/src |
|
|
|
path: /drone/src |
|
|
|
- name: docker_socket |
|
|
|
- name: docker_socket |
|
|
|
path: /var/run/docker.sock |
|
|
|
path: /var/run/docker.sock |
|
|
|
commands: |
|
|
|
commands: |
|
|
|
# 2.1 Останавливаем и удаляем старый контейнер Nginx (если есть) |
|
|
|
# 2.1 Останавливаем и удаляем старый контейнер Nginx (если есть) |
|
|
|
- docker stop my-nginx-site || true |
|
|
|
- docker stop my-nginx-site || true |
|
|
|
- docker rm my-nginx-site || true |
|
|
|
- docker rm my-nginx-site || true |
|
|
|
|
|
|
|
|
|
|
|
# 2.2 Запускаем новый контейнер Nginx |
|
|
|
# 2.2 Запускаем новый контейнер Nginx |
|
|
|
- docker run -d --name my-nginx-site -p 80:80 nginx:stable-alpine |
|
|
|
- docker run -d --name my-nginx-site -p 80:80 nginx:stable-alpine |
|
|
|
# 2.3 Копируем сгенерированные файлы в контейнер Nginx |
|
|
|
# 2.3 Копируем сгенерированные файлы в контейнер Nginx |
|
|
|
- docker cp /drone/src/build/. my-nginx-site:/usr/share/nginx/html/ |
|
|
|
- docker cp /drone/src/build/. my-nginx-site:/usr/share/nginx/html/ |
|
|
|
- name: telegram notification |
|
|
|
- name: telegram notification |
|
|
|
image: appleboy/drone-telegram |
|
|
|
image: appleboy/drone-telegram |
|
|
|
settings: |
|
|
|
settings: |
|
|
|
|