From 2497bccddfc49cb49ea678151b5dec3604b6c8fa Mon Sep 17 00:00:00 2001 From: Murtadha Date: Fri, 12 Jul 2024 00:23:50 -0400 Subject: [PATCH] Refactor pipeline script --- .woodpecker.yml | 131 +++++++++++++++++++++--------------------------- 1 file changed, 56 insertions(+), 75 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 3529134..bb7cb08 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -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 \ No newline at end of file + 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 \ No newline at end of file