towards a better gitops deploy strategy
This commit is contained in:
@@ -10,15 +10,7 @@ jobs:
|
|||||||
name: Build and push image
|
name: Build and push image
|
||||||
uses: ./.gitea/workflows/workflow_build-image.yaml
|
uses: ./.gitea/workflows/workflow_build-image.yaml
|
||||||
with:
|
with:
|
||||||
tag: stable
|
# sets the tag to the git tag that triggered the workflow - the deployment (configured in a separate repository) will use this tag and be deployed to production by argocd
|
||||||
|
tag: ${{ github.ref_name }}
|
||||||
secrets:
|
secrets:
|
||||||
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
|
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
|
||||||
|
|
||||||
deploy-prod:
|
|
||||||
name: Deploy to production
|
|
||||||
uses: ./.gitea/workflows/workflow_deploy-container.yaml
|
|
||||||
with:
|
|
||||||
overlay: prod
|
|
||||||
secrets:
|
|
||||||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
|
||||||
needs: build-and-push
|
|
||||||
|
@@ -12,15 +12,7 @@ jobs:
|
|||||||
name: Build and push image
|
name: Build and push image
|
||||||
uses: ./.gitea/workflows/workflow_build-image.yaml
|
uses: ./.gitea/workflows/workflow_build-image.yaml
|
||||||
with:
|
with:
|
||||||
tag: unstable
|
# sets a unique tag for each commit in the PR - this gets deployed to a separate application instance using argocd
|
||||||
|
tag: ${{ github.head_ref }}-{{ github.sha }}
|
||||||
secrets:
|
secrets:
|
||||||
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
|
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
|
||||||
|
|
||||||
deploy-prod:
|
|
||||||
name: Deploy to staging
|
|
||||||
uses: ./.gitea/workflows/workflow_deploy-container.yaml
|
|
||||||
with:
|
|
||||||
overlay: stg
|
|
||||||
secrets:
|
|
||||||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
|
||||||
needs: build-and-push
|
|
||||||
|
@@ -1,35 +0,0 @@
|
|||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
overlay:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
secrets:
|
|
||||||
KUBE_CONFIG:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
|
|
||||||
name: Deploy the newly built container
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
name: Deploy
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- uses: https://gitea.com/actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: setup kubectl
|
|
||||||
uses: https://github.com/azure/setup-kubectl@v4
|
|
||||||
|
|
||||||
- name: Set kubeconfig
|
|
||||||
run: |
|
|
||||||
echo "${{ secrets.KUBE_CONFIG }}" > kubeconfig
|
|
||||||
|
|
||||||
- name: Deploy to k8s
|
|
||||||
run: |
|
|
||||||
kubectl apply -k backend/deployment/overlays/${{ inputs.overlay }} --kubeconfig=kubeconfig
|
|
||||||
kubectl -n anyway-backend rollout restart deployment/anyway-backend-${{ inputs.overlay }} --kubeconfig=kubeconfig
|
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
cache/
|
cache/
|
||||||
|
.direnv/
|
||||||
|
8
.vscode/launch.json
vendored
8
.vscode/launch.json
vendored
@@ -9,9 +9,7 @@
|
|||||||
"name": "Backend - debug",
|
"name": "Backend - debug",
|
||||||
"type": "debugpy",
|
"type": "debugpy",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"env": {
|
"envFile": "${workspaceFolder}/backend/debug.env",
|
||||||
"DEBUG": "true"
|
|
||||||
},
|
|
||||||
"jinja": true,
|
"jinja": true,
|
||||||
"cwd": "${workspaceFolder}/backend",
|
"cwd": "${workspaceFolder}/backend",
|
||||||
"module": "fastapi",
|
"module": "fastapi",
|
||||||
@@ -25,9 +23,7 @@
|
|||||||
"type": "debugpy",
|
"type": "debugpy",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"program": "src/tester.py",
|
"program": "src/tester.py",
|
||||||
"env": {
|
"envFile": "${workspaceFolder}/backend/debug.env",
|
||||||
"DEBUG": "true"
|
|
||||||
},
|
|
||||||
"cwd": "${workspaceFolder}/backend"
|
"cwd": "${workspaceFolder}/backend"
|
||||||
},
|
},
|
||||||
// frontend - flutter app
|
// frontend - flutter app
|
||||||
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"nixEnvSelector.nixFile": "${workspaceFolder}/default.nix"
|
||||||
|
}
|
3
backend/.gitignore
vendored
3
backend/.gitignore
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
# all .env files
|
||||||
|
*.env
|
||||||
|
|
||||||
# osm-cache
|
# osm-cache
|
||||||
cache_XML/
|
cache_XML/
|
||||||
|
|
||||||
|
17
default.nix
Normal file
17
default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> { config.android_sdk.accept_license = true; config.allowUnfree = true; } }:
|
||||||
|
|
||||||
|
pkgs.mkShell {
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.flutter
|
||||||
|
#pkgs.android-tools # for adb
|
||||||
|
#pkgs.openjdk # required for Android builds
|
||||||
|
];
|
||||||
|
|
||||||
|
# Set up Android SDK paths if needed
|
||||||
|
shellHook = ''
|
||||||
|
export ANDROID_SDK_ROOT=${pkgs.androidsdk}/libexec/android-sdk
|
||||||
|
export PATH=$PATH:${pkgs.androidsdk}/libexec/android-sdk/platform-tools
|
||||||
|
echo "Flutter dev environment ready. 'adb' and 'flutter' are available."
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user