Update optimization recommendations and runner configurations to utilize official Docker images for Java, Python, Node.js, and security tools; enhance documentation for clarity on available images and their benefits.
Some checks failed
LabFusion CI/CD Pipeline / api-docs (push) Failing after 2s
LabFusion CI/CD Pipeline / api-gateway (push) Failing after 2s
LabFusion CI/CD Pipeline / frontend (push) Failing after 2s
LabFusion CI/CD Pipeline / service-adapters (push) Failing after 2s
LabFusion CI/CD Pipeline / security-scan (push) Has been skipped
LabFusion CI/CD Pipeline / integration-tests (push) Has been skipped
Docker Build and Push / build-and-push (push) Failing after 3m55s
Docker Build and Push / security-scan (push) Has been skipped
Docker Build and Push / deploy-staging (push) Has been skipped
Integration Tests / integration-tests (push) Failing after 2s
Integration Tests / performance-tests (push) Has been skipped
Docker Build and Push / deploy-production (push) Has been skipped

This commit is contained in:
glenn schrooyen
2025-09-13 01:51:12 +02:00
parent e55c642db2
commit fefd16f5b3
6 changed files with 54 additions and 47 deletions

View File

@@ -34,21 +34,21 @@ Instead of full Ubuntu latest, use optimized images from [Gitea's runner-images]
```yaml ```yaml
# Heavy Runner - Java workloads # Heavy Runner - Java workloads
- "java:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven" - "java:docker://openjdk:17-jdk-slim"
- "heavy:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven" - "heavy:docker://openjdk:17-jdk-slim"
# Heavy Runner - Python workloads # Heavy Runner - Python workloads
- "python:docker://docker.gitea.com/runner-images:ubuntu-22.04-python3.11" - "python:docker://python:3.11-slim"
# Light Runner - Node.js workloads # Light Runner - Node.js workloads
- "nodejs:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20" - "nodejs:docker://node:20-slim"
- "frontend:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20" - "frontend:docker://node:20-slim"
# Docker Runner - Docker-in-Docker # Docker Runner - Docker-in-Docker
- "docker:docker://docker.gitea.com/runner-images:ubuntu-22.04-docker" - "docker:docker://docker:24-dind"
# Security Runner - Security tools # Security Runner - Security tools
- "security:docker://docker.gitea.com/runner-images:ubuntu-22.04-security" - "security:docker://alpine:3.19"
``` ```
### 2. Benefits of Specialized Images ### 2. Benefits of Specialized Images
@@ -141,32 +141,31 @@ Savings: 50s per job (42% faster)
- [ ] Fine-tune based on metrics - [ ] Fine-tune based on metrics
- [ ] Update documentation - [ ] Update documentation
## Available Gitea Runner Images ## Available Docker Images
Check [Gitea's runner-images repository](https://gitea.com/docker.gitea.com/runner-images) for available images: **Note**: Gitea doesn't provide a comprehensive set of specialized runner images. We use official, well-maintained Docker images instead:
### Java Images: ### Official Docker Images Used:
- `ubuntu-22.04-java17-maven`
- `ubuntu-22.04-java21-maven`
- `ubuntu-22.04-java17-gradle`
### Python Images: #### Java Images:
- `ubuntu-22.04-python3.11` - `openjdk:17-jdk-slim` - OpenJDK 17 with Debian slim base
- `ubuntu-22.04-python3.12` - `openjdk:21-jdk-slim` - OpenJDK 21 with Debian slim base
- `ubuntu-22.04-python3.11-pip`
### Node.js Images: #### Python Images:
- `ubuntu-22.04-node18` - `python:3.11-slim` - Python 3.11 with Debian slim base
- `ubuntu-22.04-node20` - `python:3.12-slim` - Python 3.12 with Debian slim base
- `ubuntu-22.04-node21`
### Docker Images: #### Node.js Images:
- `ubuntu-22.04-docker` - `node:20-slim` - Node.js 20 with Debian slim base
- `ubuntu-22.04-docker-compose` - `node:18-slim` - Node.js 18 with Debian slim base
### Security Images: #### Docker Images:
- `ubuntu-22.04-security` - `docker:24-dind` - Docker-in-Docker with Alpine base
- `ubuntu-22.04-trivy` - `docker:24-dind-rootless` - Rootless Docker-in-Docker
#### Security Images:
- `alpine:3.19` - Minimal Alpine Linux for security tools
- `alpine:latest` - Latest Alpine Linux
## Next Steps ## Next Steps

View File

@@ -73,39 +73,47 @@ Each runner configuration file maps labels to Docker images:
### Heavy Runner (`config_heavy.yaml`) ### Heavy Runner (`config_heavy.yaml`)
```yaml ```yaml
labels: labels:
# Primary optimized images (checked first)
- "java:docker://openjdk:17-jdk-slim"
- "python:docker://python:3.11-slim"
- "heavy:docker://openjdk:17-jdk-slim"
# Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "heavy:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "java:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "python:docker://docker.gitea.com/runner-images:ubuntu-latest"
``` ```
### Light Runner (`config_light.yaml`) ### Light Runner (`config_light.yaml`)
```yaml ```yaml
labels: labels:
# Primary optimized images (checked first)
- "nodejs:docker://node:20-slim"
- "frontend:docker://node:20-slim"
- "light:docker://node:20-slim"
# Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "light:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "nodejs:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "frontend:docker://docker.gitea.com/runner-images:ubuntu-latest"
``` ```
### Docker Runner (`config_docker.yaml`) ### Docker Runner (`config_docker.yaml`)
```yaml ```yaml
labels: labels:
# Primary optimized images (checked first)
- "docker:docker://docker:24-dind"
- "integration:docker://docker:24-dind"
# Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "docker:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "integration:docker://docker.gitea.com/runner-images:ubuntu-latest"
``` ```
### Security Runner (`config_security.yaml`) ### Security Runner (`config_security.yaml`)
```yaml ```yaml
labels: labels:
# Primary optimized images (checked first)
- "security:docker://alpine:3.19"
- "scan:docker://alpine:3.19"
# Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "security:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "scan:docker://docker.gitea.com/runner-images:ubuntu-latest"
``` ```
## Label Priority and Matching ## Label Priority and Matching

View File

@@ -44,8 +44,8 @@ runner:
# If it's empty when execute `daemon`, will use labels in `.runner` file. # If it's empty when execute `daemon`, will use labels in `.runner` file.
labels: labels:
# Primary optimized images (checked first) # Primary optimized images (checked first)
- "docker:docker://docker.gitea.com/runner-images:ubuntu-22.04-docker" - "docker:docker://docker:24-dind"
- "integration:docker://docker.gitea.com/runner-images:ubuntu-22.04-docker" - "integration:docker://docker:24-dind"
# Fallback images (checked last) # Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"

View File

@@ -44,9 +44,9 @@ runner:
# If it's empty when execute `daemon`, will use labels in `.runner` file. # If it's empty when execute `daemon`, will use labels in `.runner` file.
labels: labels:
# Primary optimized images (checked first) # Primary optimized images (checked first)
- "java:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven" - "java:docker://openjdk:17-jdk-slim"
- "python:docker://docker.gitea.com/runner-images:ubuntu-22.04-python3.11" - "python:docker://python:3.11-slim"
- "heavy:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven" - "heavy:docker://openjdk:17-jdk-slim"
# Fallback images (checked last) # Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"

View File

@@ -44,9 +44,9 @@ runner:
# If it's empty when execute `daemon`, will use labels in `.runner` file. # If it's empty when execute `daemon`, will use labels in `.runner` file.
labels: labels:
# Primary optimized images (checked first) # Primary optimized images (checked first)
- "nodejs:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20" - "nodejs:docker://node:20-slim"
- "frontend:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20" - "frontend:docker://node:20-slim"
- "light:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20" - "light:docker://node:20-slim"
# Fallback images (checked last) # Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"

View File

@@ -44,8 +44,8 @@ runner:
# If it's empty when execute `daemon`, will use labels in `.runner` file. # If it's empty when execute `daemon`, will use labels in `.runner` file.
labels: labels:
# Primary optimized images (checked first) # Primary optimized images (checked first)
- "security:docker://docker.gitea.com/runner-images:ubuntu-22.04-security" - "security:docker://alpine:3.19"
- "scan:docker://docker.gitea.com/runner-images:ubuntu-22.04-security" - "scan:docker://alpine:3.19"
# Fallback images (checked last) # Fallback images (checked last)
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest" - "self-hosted:docker://docker.gitea.com/runner-images:ubuntu-latest"