Refactor pipeline script

This commit is contained in:
Murtadha 2024-07-12 00:23:50 -04:00
parent 926f06234f
commit 2497bccddf

View file

@ -1,83 +1,64 @@
# pipeline:
# build:
# image: docker:dind
# privileged: true
# commands:
# - docker build -t frontend:${CI_COMMIT_SHA:0:8} .
# - docker tag frontend:${CI_COMMIT_SHA:0:8} frontend:latest
# deploy:
# image: docker:dind
# privileged: true
# commands:
# - docker stop frontend || true
# - docker rm frontend || true
# - docker run -d --name frontend -p 5173:5173 frontend:latest
# clone:
# git:
# image: woodpeckerci/plugin-git
# settings:
# depth: 1
# pipeline:
# build_and_deploy:
# image: docker:dind
# privileged: true
# commands:
# - sleep 5 # Give Docker daemon time to start
# - docker build -t frontend:${CI_COMMIT_SHA:0:8} .
# - docker tag frontend:${CI_COMMIT_SHA:0:8} frontend:latest
# - docker stop frontend || true
# - docker rm frontend || true
# - docker run -d --name frontend -p 5137:5137 frontend:latest
# pipeline:
# deploy:
# image: alpine
# commands:
# - sh ./deploy.sh
# branches: master
pipeline: pipeline:
submodules:
image: alpine/git
commands:
- git submodule update --init --recursive
build: build:
image: docker:latest image: node:16
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands: commands:
- cd frontend - npm ci
- docker build -t mnisyif-frontend . - npm run build
# Optionally push to a registry when:
# - docker tag my-frontend-app my-registry/my-frontend-app:latest branch: master
# - docker push my-registry/my-frontend-app:latest
deploy: deploy:
image: appleboy/drone-ssh image: appleboy/drone-ssh
environment: settings:
HOST: "10.0.0.2" host:
USER: "mnisyif" from_secret: ssh_host
SSH_KEY: username:
from_secret: ssh_username
key:
from_secret: ssh_key from_secret: ssh_key
commands: port: 2332
- apk add --no-cache openssh script:
- mkdir -p ~/.ssh - mkdir -p /home/mnisyif/docker-containers/mnisyif/frontend
- echo "$SSH_KEY" > ~/.ssh/id_rsa - rm -rf /home/mnisyif/docker-containers/mnisyif/frontend/*
- chmod 600 ~/.ssh/id_rsa - echo "Copied files to server"
- ssh-keyscan -H $HOST >> ~/.ssh/known_hosts when:
- scp frontend/docker-compose.yml $USER@$HOST:/docker-containers/mnisyif branch: master
- scp -r frontend/* $USER@$HOST:/docker-containers/mnisyif/frontend/
# If the image is pushed to a registry, pull it on the deployment server
# - ssh $USER@$HOST "cd /path/to/deployment/directory && docker-compose pull && docker-compose up -d"
# If the image is built locally on the CI server, transfer the image file
# - docker save my-frontend-app | bzip2 | ssh $USER@$HOST 'bunzip2 | docker load'
# - ssh $USER@$HOST "cd /path/to/deployment/directory && docker-compose up -d"
secrets: scp:
ssh_key: image: appleboy/drone-scp
external: true settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
key:
from_secret: ssh_key
port: 2332
target: /home/mnisyif/docker-containers/mnisyif/frontend
source:
- Dockerfile
- dist/**/*
- nginx.conf
when:
branch: master
docker-build:
image: appleboy/drone-ssh
settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
key:
from_secret: ssh_key
port: 2332
script:
- cd /home/mnisyif/docker-containers/mnisyif/frontend
- docker build -t mnisyif-frontend:${CI_COMMIT_SHA} .
- docker stop mnisyif-frontend || true
- docker rm mnisyif-frontend || true
- docker run -d --name mnisyif-frontend -p 5173:5173 mnisyif-frontend:${CI_COMMIT_SHA}
when:
branch: master
branches: master