All checks were successful
continuous-integration/drone/push Build is passing
78 lines
2.4 KiB
YAML
78 lines
2.4 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: siska-pipeline
|
|
|
|
platform:
|
|
os: linux
|
|
arch: arm64
|
|
|
|
steps:
|
|
- name: build-image-dev
|
|
image: docker:24.0.7-dind
|
|
environment:
|
|
DOCKER_BUILDKIT: "1"
|
|
REGISTRY_USERNAME:
|
|
from_secret: registry_username
|
|
REGISTRY_PASSWORD:
|
|
from_secret: registry_password
|
|
volumes:
|
|
- name: dockersock
|
|
path: /var/run/docker.sock
|
|
commands:
|
|
- apk add --no-cache curl bash
|
|
- echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USERNAME" --password-stdin registry.git.appstaging.my.id
|
|
- docker buildx create --use --name mybuilder || true
|
|
- docker buildx build --platform linux/arm64 -t registry.git.appstaging.my.id/reihanrere/sistem-akademik/sistem-akademik-dev -f Dockerfile . --push
|
|
|
|
- name: deploy-image-dev
|
|
image: debian:latest
|
|
environment:
|
|
SSH_KEY_M4:
|
|
from_secret: ssh_key_m4
|
|
REGISTRY_USERNAME:
|
|
from_secret: registry_username
|
|
REGISTRY_PASSWORD:
|
|
from_secret: registry_password
|
|
GIT_USERNAME:
|
|
from_secret: git_username
|
|
GIT_ACCESS_TOKEN:
|
|
from_secret: git_token
|
|
commands:
|
|
- apt-get update -qq && apt-get install -qq git openssh-client
|
|
- mkdir -p ~/.ssh
|
|
- echo "$SSH_KEY_M4" | base64 -d > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- |
|
|
cat <<EOF > ~/.ssh/config
|
|
Host *
|
|
StrictHostKeyChecking no
|
|
EOF
|
|
- chmod 600 ~/.ssh/config
|
|
- |
|
|
ssh -i ~/.ssh/id_rsa opc@138.2.102.242 <<EOF
|
|
set -e
|
|
docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD registry.git.appstaging.my.id
|
|
cd /home/opc/workspace/sistem-akademik
|
|
git fetch origin
|
|
git reset --hard origin/main
|
|
docker-compose rm --stop --force sistem-akademik-dev
|
|
docker image prune --all --force
|
|
docker pull registry.git.appstaging.my.id/reihanrere/sistem-akademik/sistem-akademik-dev
|
|
docker-compose up -d --no-deps --build sistem-akademik-dev
|
|
|
|
# Jalankan composer install di container
|
|
docker exec -i sistem-akademik-dev composer install --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
# Jika perlu migrasi db, bisa ditambahkan baris ini:
|
|
docker exec -i sistem-akademik-dev php artisan migrate --force
|
|
EOF
|
|
|
|
volumes:
|
|
- name: dockersock
|
|
host:
|
|
path: /var/run/docker.sock
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|