add deployment workflows; publish an image
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Build and publish container images / build-and-publish (push) Successful in 2m30s

This commit is contained in:
James Brumond 2023-08-18 19:09:55 -07:00
parent daac8a316c
commit 5ba55708e9
Signed by: james
GPG Key ID: E8F2FC44BAA3357A
4 changed files with 100 additions and 8 deletions

View File

@ -2,10 +2,10 @@
name: Build and publish container images
on:
- workflow_dispatch
# push:
# branches:
# - master
# - workflow_dispatch
push:
branches:
- master
jobs:
build-and-publish:

View File

@ -2,10 +2,10 @@
name: Build container images
on:
# - workflow_dispatch
push:
branches:
- master
- workflow_dispatch
# push:
# branches:
# - master
jobs:
build:

View File

@ -0,0 +1,46 @@
name: Deploy staging to production environment
on:
- workflow_dispatch
jobs:
tag-image:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: gitea.jbrumond.me
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Tag "stg" with "prod"
run: |
docker pull gitea.jbrumond.me/doc-utils/docs-web:stg
docker tag gitea.jbrumond.me/doc-utils/docs-web:stg gitea.jbrumond.me/doc-utils/docs-web:prod
docker push gitea.jbrumond.me/doc-utils/docs-web:prod
deploy:
runs-on: ubuntu-latest
container:
image: gitea.jbrumond.me/images/kubectl:1.28
needs:
- tag-image
env:
KUBERNETES_SERVER: https://nephthys.local.jbrumond.me:6443
KUBERNETES_TOKEN: ${{ secrets.K8S_WEB_NS_SERVICE_ACCT_TOKEN }}
KUBERNETES_CERT: ${{ secrets.K8S_WEB_NS_SERVICE_ACCT_CERT }}
steps:
- name: Configure kubectl and set credentials
run: /bin/kubectl-setup
- name: Deploy "prod" image to kubernetes production (doc-utils.jbrumond.me)
run: |
kubectl -n web set image "deployment/doc-utils-prod-deploy" "doc-utils-prod=gitea.jbrumond.me/doc-utils/docs-web:prod"
kubectl -n web rollout restart "deployment/doc-utils-prod-deploy"
kubectl -n web rollout status "deployment/doc-utils-prod-deploy"

View File

@ -0,0 +1,46 @@
name: Deploy latest to staging environment
on:
- workflow_dispatch
jobs:
tag-image:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: gitea.jbrumond.me
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Tag "latest" with "stg"
run: |
docker pull gitea.jbrumond.me/doc-utils/docs-web:latest
docker tag gitea.jbrumond.me/doc-utils/docs-web:latest gitea.jbrumond.me/doc-utils/docs-web:stg
docker push gitea.jbrumond.me/doc-utils/docs-web:stg
deploy:
runs-on: ubuntu-latest
container:
image: gitea.jbrumond.me/images/kubectl:1.28
needs:
- tag-image
env:
KUBERNETES_SERVER: https://nephthys.local.jbrumond.me:6443
KUBERNETES_TOKEN: ${{ secrets.K8S_WEB_NS_SERVICE_ACCT_TOKEN }}
KUBERNETES_CERT: ${{ secrets.K8S_WEB_NS_SERVICE_ACCT_CERT }}
steps:
- name: Configure kubectl and set credentials
run: /bin/kubectl-setup
- name: Deploy "stg" image to kubernetes staging (doc-utils-stg.home.jbrumond.me)
run: |
kubectl -n web set image "deployment/doc-utils-stg-deploy" "doc-utils-stg=gitea.jbrumond.me/doc-utils/docs-web:stg"
kubectl -n web rollout restart "deployment/doc-utils-stg-deploy"
kubectl -n web rollout status "deployment/doc-utils-stg-deploy"