feat: Add CI/CD pipeline, versioning and changelog
ALVA Deploy / deploy (push) Has been skipped
ALVA Deploy / build (push) Failing after 11s
Guidad Felsökning / test-och-bygg (push) Has been cancelled
Guidad Felsökning / tjanster (push) Has been cancelled
Guidad Felsökning / terraform (push) Has been cancelled
Guidad Felsökning / leverantorskedja (push) Has been cancelled
Guidad Felsökning / aterstallning (push) Has been cancelled
Guidad Felsökning / publicera (push) Has been cancelled
Guidad Felsökning / driftsatt (push) Has been cancelled
ALVA Deploy / deploy (push) Has been skipped
ALVA Deploy / build (push) Failing after 11s
Guidad Felsökning / test-och-bygg (push) Has been cancelled
Guidad Felsökning / tjanster (push) Has been cancelled
Guidad Felsökning / terraform (push) Has been cancelled
Guidad Felsökning / leverantorskedja (push) Has been cancelled
Guidad Felsökning / aterstallning (push) Has been cancelled
Guidad Felsökning / publicera (push) Has been cancelled
Guidad Felsökning / driftsatt (push) Has been cancelled
- Gitea Actions workflow for build and deploy - VERSION file (1.0.0) - CHANGELOG.md - Automatic ECR push on commit - Automatic EKS deployment on main branch
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
name: ALVA Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, master]
|
||||
tags: ['v*']
|
||||
pull_request:
|
||||
branches: [main, master]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Configure AWS credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: eu-north-1
|
||||
|
||||
- name: Login to Amazon ECR
|
||||
id: login-ecr
|
||||
uses: aws-actions/amazon-ecr-login@v2
|
||||
|
||||
- name: Build and push webb image
|
||||
working-directory: felsokning/app
|
||||
run: |
|
||||
# Kopiera gemensam-moduler
|
||||
mkdir -p services
|
||||
cp -r ../services/gemensam services/
|
||||
|
||||
# Bygg image
|
||||
docker build \
|
||||
--build-arg VITE_SUPABASE_URL="${{ secrets.VITE_SUPABASE_URL }}" \
|
||||
--build-arg VITE_SUPABASE_PUBLISHABLE_KEY="${{ secrets.VITE_SUPABASE_PUBLISHABLE_KEY }}" \
|
||||
--build-arg VITE_AI_ORKESTER_URL="https://ai.alva.landvex.com" \
|
||||
--build-arg VITE_PLATTFORM_URL="https://api.alva.landvex.com" \
|
||||
-t ${{ steps.login-ecr.outputs.registry }}/alva-webb:${{ github.sha }} \
|
||||
-t ${{ steps.login-ecr.outputs.registry }}/alva-webb:latest \
|
||||
.
|
||||
|
||||
docker push ${{ steps.login-ecr.outputs.registry }}/alva-webb:${{ github.sha }}
|
||||
docker push ${{ steps.login-ecr.outputs.registry }}/alva-webb:latest
|
||||
|
||||
deploy:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
|
||||
steps:
|
||||
- name: Configure AWS credentials
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: eu-north-1
|
||||
|
||||
- name: Update kubeconfig
|
||||
run: aws eks update-kubeconfig --name landvex-prod --region eu-north-1
|
||||
|
||||
- name: Deploy to EKS
|
||||
run: |
|
||||
kubectl set image deployment/alva-webb \
|
||||
webb=${{ steps.login-ecr.outputs.registry }}/alva-webb:${{ github.sha }} \
|
||||
-n alva
|
||||
|
||||
kubectl rollout status deployment/alva-webb -n alva --timeout=300s
|
||||
|
||||
- name: Verify deployment
|
||||
run: |
|
||||
kubectl get pods -n alva
|
||||
curl -s https://alva.landvex.com/ | grep -E "<title>" | head -1
|
||||
@@ -0,0 +1,22 @@
|
||||
# Changelog
|
||||
|
||||
## [1.0.0] - 2026-08-08
|
||||
|
||||
### Added
|
||||
- Initial production deployment
|
||||
- CloudFront CDN with SSL
|
||||
- EKS deployment with 2 replicas
|
||||
- RDS PostgreSQL database
|
||||
- Git-based CI/CD pipeline
|
||||
|
||||
### Infrastructure
|
||||
- Kubernetes namespace: `alva`
|
||||
- Node group: `alva-arm64` (2× t4g.medium)
|
||||
- CloudFront distribution
|
||||
- ACM SSL certificate
|
||||
- Route53 DNS
|
||||
|
||||
### Services
|
||||
- `alva-webb` - Webbklient (React/Vite SPA)
|
||||
- `alva-plattform` - Backend API
|
||||
- `alva-ai-orkester` - AI-tjänst
|
||||
Reference in New Issue
Block a user