Skip to content

Merge pull request #17 from zooniverse/mdv5-zooniverse-poc #4

Merge pull request #17 from zooniverse/mdv5-zooniverse-poc

Merge pull request #17 from zooniverse/mdv5-zooniverse-poc #4

Workflow file for this run

name: Deploy to Production
on:
push:
branches:
- zooniverse-deployment
workflow_dispatch:
jobs:
build_and_push_image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
with:
repository: zooniverse/CameraTraps
ref: zooniverse-deployment
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Create commit_id.txt
run: echo ${{ github.sha }} > commit_id.txt
- name: Build and push
uses: docker/[email protected]
with:
context: api/batch_processing/api_core
push: true
tags: |
ghcr.io/zooniverse/camera-traps-api:latest
ghcr.io/zooniverse/camera-traps-api:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
deploy_app:
runs-on: ubuntu-latest
needs: [build_and_push_image]
steps:
- name: Checkout
uses: actions/[email protected]
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_AKS }}
- uses: azure/aks-set-context@v3
with:
resource-group: kubernetes
cluster-name: microservices
- name: Dry run deployments
run: |
sed "s/__IMAGE_TAG__/${{ github.sha }}/g" ./api/batch_processing/api_core/kubernetes/deployment.tmpl \
| kubectl --context azure apply --dry-run=client --record -f -
- name: Modify & apply template
run: |
sed "s/__IMAGE_TAG__/${{ github.sha }}/g" ./api/batch_processing/api_core/kubernetes/deployment.tmpl \
| kubectl --context azure apply --record -f -