Изменил(а) на '.drone.yml'

main
vladimirkutkovoy 1 year ago
parent c44e99d01d
commit dcb4ff1eb0
  1. 51
      .drone.yml

@ -1,30 +1,36 @@
kind: pipeline
name: default
type: docker
name: build-and-deploy
steps:
- name: build
image: node
# 1. Install dependencies and build the project
- name: install_and_build
image: node:18 # Используем подходящий образ Node.js
commands:
- npm install
- npm run build
volumes:
- name: build
path: /drone/src
- name: deploy
image: alpine
environment:
HOST: blog.example.ru
USER: droneci
WEB_DIR: /var/www/blog.example.ru/
SSH_KEY:
from_secret: ssh_key
# 2. Deploy Docker container with Nginx and copy build files
- name: deploy
image: docker:24.0.2 # Используем образ Docker для управления контейнерами
volumes:
- name: build
path: /drone/src
- name: docker_socket
path: /var/run/docker.sock
commands:
- apk add --no-cache rsync openssh
- mkdir ~/.ssh/
- chmod 0700 ~/.ssh
- echo -e "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 0600 ~/.ssh/id_rsa
- echo StrictHostKeyChecking no >> ~/.ssh/config
- chmod 0600 ~/.ssh/config
- rsync -rvzc --chmod=g=rwX --delete public/ $USER@$HOST:$WEB_DIR
# 2.1 Останавливаем и удаляем старый контейнер Nginx (если есть)
- docker stop my-nginx-site || true
- docker rm my-nginx-site || true
# 2.2 Запускаем новый контейнер Nginx
- docker run -d --name my-nginx-site -p 80:80 nginx:stable-alpine
# 2.3 Копируем сгенерированные файлы в контейнер Nginx
- docker cp /drone/src/build/. my-nginx-site:/usr/share/nginx/html/
- name: telegram notification
image: appleboy/drone-telegram
@ -54,3 +60,10 @@ steps:
```
🌐 {{ build.link }}
{{/success}}
volumes:
- name: build
temp: {}
- name: docker_socket
host:
path: /var/run/docker.sock
Loading…
Cancel
Save