background
Previous Project

Release Infrastructure Management

This project details a robust continuous delivery pipeline for backend applications. Leveraging GitHub Actions, it automates build, test, and deployment processes, integrates with Google Cloud and GKE, and uses Kubernetes ConfigMaps to manage environment-specific configurations for enhanced reliability and scalability.

Finish

Implementation

GitHub Actions workflow for deploying backend applications with environment selection and concurrency control.
1name: 'Deploy Backend App'
2
3on:
4  workflow_dispatch:
5    inputs:
6      app:
7        type: choice
8        description: Choose app to build
9        options:
10          - be-api
11          - be-network-importer
12      environment:
13        type: choice
14        description: Make a choice
15        options:
16          - production
17          - staging
18
19concurrency:
20  group: ${{ github.workflow }}-${{ inputs.app }}-${{ inputs.environment }}-${{ github.ref }}
21  cancel-in-progress: true
22
23run-name: "'${{ inputs.app }}/${{ inputs.environment }}' on ${{ github.ref_name }}@${{ github.sha }} by @${{ github.actor }}"
24
25jobs:
26  build:
27    uses: donista-org/donista/.github/workflows/common-build.yml@main
28    with:
29      appName: '${{ inputs.app }}'
30
31  deploy:
32    uses: donista-org/donista/.github/workflows/common-deploy.yml@main
33    needs: build
34    with:
35      appName: '${{ inputs.app }}'
36      namespace: '${{ inputs.environment }}'
37