Files
hass/.drone.yml
Renovate Bot 1f86fd7132
All checks were successful
continuous-integration/drone/push Build is passing
Update mgoltzsche/podman Docker tag to v5.4.0
2025-02-13 09:45:48 +00:00

120 lines
3.4 KiB
YAML

---
kind: pipeline
type: kubernetes
name: build
steps:
- name: build
image: mgoltzsche/podman:5.4.0
privileged: true
environment:
REGISTRY_USERNAME:
from_secret: registry_username
REGISTRY_PASSWORD:
from_secret: registry_password
REGISTRY_SERVER: "docker.io"
RELEASE_IMAGE_NAME: "docker.io/genunix/homeassistant"
commands:
- |
HASS_VERSION=$$(grep FROM Dockerfile|cut -d : -f 2)
podman login --username "$${REGISTRY_USERNAME}" --password "$${REGISTRY_PASSWORD}" "$${REGISTRY_SERVER}"
echo "== Building $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}"
podman build --pull-always --format docker -t $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA} .
echo "== Publishing $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}"
podman push $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA} docker://$${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}
podman push $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA} docker://$${RELEASE_IMAGE_NAME}:$${HASS_VERSION}
podman logout "$${REGISTRY_SERVER}"
volumes:
- name: containers
path: /var/lib/containers
when:
branch:
- master
- name: cleanup
image: mgoltzsche/podman:5.4.0
privileged: true
environment:
RELEASE_IMAGE_NAME: "docker.io/genunix/homeassistant"
commands:
- podman rmi -f $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}
- podman image prune -f
volumes:
- name: containers
path: /var/lib/containers
when:
branch:
- master
trigger:
event:
- push
- custom
volumes:
- name: containers
host:
path: /var/lib/containers
---
kind: pipeline
type: kubernetes
name: promote
steps:
- name: promote
image: mgoltzsche/podman:5.4.0
privileged: true
environment:
REGISTRY_USERNAME:
from_secret: registry_username
REGISTRY_PASSWORD:
from_secret: registry_password
REGISTRY_SERVER: "docker.io"
RELEASE_IMAGE_NAME: "docker.io/genunix/homeassistant"
commands:
- podman login --username "$${REGISTRY_USERNAME}" --password "$${REGISTRY_PASSWORD}" "$${REGISTRY_SERVER}"
- echo "== Promoting $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA} into production"
- podman pull docker://$${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}
- podman push $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA} docker://$${RELEASE_IMAGE_NAME}:latest
- podman logout "$${REGISTRY_SERVER}"
volumes:
- name: containers
path: /var/lib/containers
- name: cleanup
image: mgoltzsche/podman:5.4.0
privileged: true
environment:
RELEASE_IMAGE_NAME: "docker.io/genunix/homeassistant"
commands:
- podman rmi -f $${RELEASE_IMAGE_NAME}:$${DRONE_COMMIT_SHA}
- podman rmi -f $${RELEASE_IMAGE_NAME}:latest
- podman image prune -f
volumes:
- name: containers
path: /var/lib/containers
when:
branch:
- master
- name: deploy
image: bitnami/kubectl:1.32
environment:
KUBECONFIG:
from_secret: kubeconfig
commands:
- echo "$${KUBECONFIG}" > kubeconfig
- kubectl --kubeconfig=kubeconfig -n hass rollout restart deployment/hass
- kubectl --kubeconfig=kubeconfig -n hass rollout status deployment/hass
trigger:
event:
- promote
target:
- production
volumes:
- name: containers
host:
path: /var/lib/containers