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
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:
@@ -34,21 +34,21 @@ Instead of full Ubuntu latest, use optimized images from [Gitea's runner-images]
|
||||
|
||||
```yaml
|
||||
# Heavy Runner - Java workloads
|
||||
- "java:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven"
|
||||
- "heavy:docker://docker.gitea.com/runner-images:ubuntu-22.04-java17-maven"
|
||||
- "java:docker://openjdk:17-jdk-slim"
|
||||
- "heavy:docker://openjdk:17-jdk-slim"
|
||||
|
||||
# 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
|
||||
- "nodejs:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20"
|
||||
- "frontend:docker://docker.gitea.com/runner-images:ubuntu-22.04-node20"
|
||||
- "nodejs:docker://node:20-slim"
|
||||
- "frontend:docker://node:20-slim"
|
||||
|
||||
# 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:docker://docker.gitea.com/runner-images:ubuntu-22.04-security"
|
||||
- "security:docker://alpine:3.19"
|
||||
```
|
||||
|
||||
### 2. Benefits of Specialized Images
|
||||
@@ -141,32 +141,31 @@ Savings: 50s per job (42% faster)
|
||||
- [ ] Fine-tune based on metrics
|
||||
- [ ] 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:
|
||||
- `ubuntu-22.04-java17-maven`
|
||||
- `ubuntu-22.04-java21-maven`
|
||||
- `ubuntu-22.04-java17-gradle`
|
||||
### Official Docker Images Used:
|
||||
|
||||
### Python Images:
|
||||
- `ubuntu-22.04-python3.11`
|
||||
- `ubuntu-22.04-python3.12`
|
||||
- `ubuntu-22.04-python3.11-pip`
|
||||
#### Java Images:
|
||||
- `openjdk:17-jdk-slim` - OpenJDK 17 with Debian slim base
|
||||
- `openjdk:21-jdk-slim` - OpenJDK 21 with Debian slim base
|
||||
|
||||
### Node.js Images:
|
||||
- `ubuntu-22.04-node18`
|
||||
- `ubuntu-22.04-node20`
|
||||
- `ubuntu-22.04-node21`
|
||||
#### Python Images:
|
||||
- `python:3.11-slim` - Python 3.11 with Debian slim base
|
||||
- `python:3.12-slim` - Python 3.12 with Debian slim base
|
||||
|
||||
### Docker Images:
|
||||
- `ubuntu-22.04-docker`
|
||||
- `ubuntu-22.04-docker-compose`
|
||||
#### Node.js Images:
|
||||
- `node:20-slim` - Node.js 20 with Debian slim base
|
||||
- `node:18-slim` - Node.js 18 with Debian slim base
|
||||
|
||||
### Security Images:
|
||||
- `ubuntu-22.04-security`
|
||||
- `ubuntu-22.04-trivy`
|
||||
#### Docker Images:
|
||||
- `docker:24-dind` - Docker-in-Docker with Alpine base
|
||||
- `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
|
||||
|
||||
|
||||
@@ -73,39 +73,47 @@ Each runner configuration file maps labels to Docker images:
|
||||
### Heavy Runner (`config_heavy.yaml`)
|
||||
```yaml
|
||||
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"
|
||||
- "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`)
|
||||
```yaml
|
||||
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"
|
||||
- "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`)
|
||||
```yaml
|
||||
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"
|
||||
- "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`)
|
||||
```yaml
|
||||
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"
|
||||
- "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
|
||||
|
||||
Reference in New Issue
Block a user