Skip to content

Slack-Alarm CI

Slack-Alarm CI #16

name: Slack-Alarm CI
on:
workflow_dispatch: # Adds manual trigger
schedule:
# Runs at 05:05 UTC on the 5th day of every month
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
- cron: '5 5 7 * *'
push:
branches: [ "master" ]
paths:
- 'Kubernetes/slack-alarm/**'
pull_request:
branches: [ "master" ]
paths:
- 'Kubernetes/slack-alarm/**'
jobs:
build-docker-image:
runs-on: self-hosted-linux
steps:
- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v3
- name: Build docker image
run: cd Kubernetes/slack-alarm && docker build . --file Dockerfile --tag ${{ secrets.DOCKERHUB_USERNAME }}/slack-alarm:$(date +%s) --tag ${{ secrets.DOCKERHUB_USERNAME }}/slack-alarm:latest && docker push ${{ secrets.DOCKERHUB_USERNAME }}/slack-alarm --all-tags
# Restart deployment
- name: Restart deployment
run: |
sudo curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl rollout restart deployment -n default slack-alarm