gohorsejobs/.drone.yml
2025-12-11 23:58:50 -03:00

70 lines
No EOL
2 KiB
YAML

kind: pipeline
type: kubernetes
name: deploy-backend
steps:
- name: docker-login
image: docker:24
environment:
DOCKER_USERNAME:
from_secret: DOCKER_USERNAME
DOCKER_PASSWORD:
from_secret: DOCKER_PASSWORD
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- echo "$DOCKER_PASSWORD" | docker login https://in.gohorsejobs.com -u "$DOCKER_USERNAME" --password-stdin
- name: build-and-push-backend
image: docker:24
environment:
DOCKER_USERNAME:
from_secret: DOCKER_USERNAME
DOCKER_PASSWORD:
from_secret: DOCKER_PASSWORD
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- docker build -t in.gohorsejobs.com/gohorsejobs/gohorsejobs-backend:latest backend
- docker push in.gohorsejobs.com/gohorsejobs/gohorsejobs-backend:latest
- name: deploy-backend
image: bitnami/kubectl:latest
environment:
KUBERNETES_SERVER:
from_secret: K3S_SERVER
KUBERNETES_CA:
from_secret: K3S_CA_CERT
KUBERNETES_CLIENT_CERT:
from_secret: K3S_CLIENT_CERT
KUBERNETES_CLIENT_KEY:
from_secret: K3S_CLIENT_KEY
commands:
- mkdir -p ~/.kube
- |
cat <<EOF > ~/.kube/config
apiVersion: v1
kind: Config
clusters:
- name: k3s
cluster:
server: ${KUBERNETES_SERVER}
certificate-authority-data: ${KUBERNETES_CA}
users:
- name: drone
user:
client-certificate-data: ${KUBERNETES_CLIENT_CERT}
client-key-data: ${KUBERNETES_CLIENT_KEY}
contexts:
- name: drone-context
context:
cluster: k3s
user: drone
namespace: gohorsejobs
current-context: drone-context
EOF
- echo "Deploying backend..."
- kubectl apply -f k8s/backend-deployment.yaml
- kubectl apply -f k8s/backend-service.yaml