Skip to content

Added ciush

Added ciush #4

Workflow file for this run

name: Continuous Deployment (Prod)
on:
push:
branches: [ production ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
# Set up Kubernetes CLI and configure access
- name: Set up kubectl
uses: azure/setup-kubectl@v1
with:
version: 'latest'
- name: Set KUBECONFIG environment variable
run: mkdir $HOME/.kube && echo $KUBE_POSTGRES_CONFIG | base64 -d > $HOME/.kube/config
env:
KUBE_POSTGRES_CONFIG: ${{ secrets.KUBE_POSTGRES_CONFIG }}
# Proxy the database (use kubectl port-forward or other mechanisms)
- name: Proxy Database using Kubernetes
run: |
kubectl port-forward svc/postgres 5432:5432 -n postgres
sleep 5
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.prod
push: true
tags: 100xdevs/cms:${{ github.sha }}
build-args: |
DATABASE_URL=${{ secrets.PROD_DATABASE }}
- name: Clone staging-ops repo, update, and push
env:
PAT: ${{ secrets.PAT }}
run: |
git clone https://github.com/code100x/staging-ops.git
cd staging-ops
sed -i 's|image: 100xdevs/cms:.*|image: 100xdevs/cms:${{ github.sha }}|' prod/cms/deployment.yml
git config user.name "GitHub Actions Bot"
git config user.email "[email protected]"
git add prod/cms/deployment.yml
git commit -m "Update cms image to ${{ github.sha }}"
git push https://${PAT}@github.com/code100x/staging-ops.git main