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:
submodules:
image: alpine/git
commands:
- git submodule update --init --recursive
build:
image: docker:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
image: node:16
commands:
- cd frontend
- docker build -t mnisyif-frontend .
# Optionally push to a registry
# - docker tag my-frontend-app my-registry/my-frontend-app:latest
# - docker push my-registry/my-frontend-app:latest
- npm ci
- npm run build
when:
branch: master
deploy:
image: appleboy/drone-ssh
environment:
HOST: "10.0.0.2"
USER: "mnisyif"
SSH_KEY:
settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
key:
from_secret: ssh_key
commands:
- apk add --no-cache openssh
- mkdir -p ~/.ssh
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $HOST >> ~/.ssh/known_hosts
- scp frontend/docker-compose.yml $USER@$HOST:/docker-containers/mnisyif
- 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"
port: 2332
script:
- mkdir -p /home/mnisyif/docker-containers/mnisyif/frontend
- rm -rf /home/mnisyif/docker-containers/mnisyif/frontend/*
- echo "Copied files to server"
when:
branch: master
secrets:
ssh_key:
external: true
scp:
image: appleboy/drone-scp
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