add deployment workflows; publish an image
This commit is contained in:
parent
daac8a316c
commit
5ba55708e9
@ -2,10 +2,10 @@
|
|||||||
name: Build and publish container images
|
name: Build and publish container images
|
||||||
|
|
||||||
on:
|
on:
|
||||||
- workflow_dispatch
|
# - workflow_dispatch
|
||||||
# push:
|
push:
|
||||||
# branches:
|
branches:
|
||||||
# - master
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-publish:
|
build-and-publish:
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
name: Build container images
|
name: Build container images
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# - workflow_dispatch
|
- workflow_dispatch
|
||||||
push:
|
# push:
|
||||||
branches:
|
# branches:
|
||||||
- master
|
# - master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
46
.gitea/workflows/deploy-prd.yaml
Normal file
46
.gitea/workflows/deploy-prd.yaml
Normal 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"
|
46
.gitea/workflows/deploy-stg.yaml
Normal file
46
.gitea/workflows/deploy-stg.yaml
Normal 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"
|
Loading…
x
Reference in New Issue
Block a user