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
|
```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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user