67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# Docker Runner Gitea
|
|
|
|
An Ubuntu-based Docker image with essential tools for Gitea CI/CD pipelines and development.
|
|
|
|
## Features
|
|
|
|
- **Base OS:** Ubuntu 24.04 (Noble)
|
|
- **Node.js:** v24.11.1 (managed via NVM)
|
|
- **Build Tools:** Essential development utilities including git, curl, wget, build-essential
|
|
- **Package Managers:** pip (Python 3), conan (C/C++ package manager)
|
|
- **Additional Tools:** Python 3, ca-certificates
|
|
|
|
## Prerequisites
|
|
|
|
- Docker installed on your system
|
|
- At least 2GB of free disk space
|
|
- Internet connection (for downloading base image and dependencies)
|
|
|
|
## Installation
|
|
|
|
### Building the Image
|
|
|
|
Clone or download this repository, then build the Docker image:
|
|
|
|
```sh
|
|
docker build -t package-cloud.dns.army/ros2/docker-runner-gitea:noble-node-24 .
|
|
```
|
|
|
|
To specify a different Ubuntu version:
|
|
|
|
```sh
|
|
docker build --build-arg UBUNTU_VERSION=22.04 -t package-cloud.dns.army/ros2/docker-runner-gitea:jammy-node-24 .
|
|
```
|
|
|
|
Used Ubuntu versions:
|
|
|
|
| Ubuntu Version | Image Tag |
|
|
|----------------|-----------------------------------|
|
|
| 24.04 (noble) | docker-runner-gitea:noble-node-24 |
|
|
| 22.04 (jammy) | docker-runner-gitea:jammy-node-24 |
|
|
| 20.04 (focal) | docker-runner-gitea:focal-node-24 |
|
|
|
|
### Running a Container
|
|
|
|
```sh
|
|
docker run -it package-cloud.dns.army/ros2/docker-runner-gitea:noble-node-24 /bin/bash
|
|
```
|
|
|
|
### Using as a Gitea Runner
|
|
|
|
Configure this image in your Gitea instance for CI/CD pipelines by specifying the image name in your runner configuration.
|
|
|
|
## Installed Packages
|
|
|
|
| Package | Version | Purpose |
|
|
|-----------------|---------|-----------------------|
|
|
| Node.js | 24.11.1 | JavaScript runtime |
|
|
| Python | 3.x | Scripting and tools |
|
|
| Conan | Latest | C/C++ package manager |
|
|
| Git | Latest | Version control |
|
|
| build-essential | Latest | Compilation tools |
|
|
|
|
Notes
|
|
|
|
- The image uses NVM (Node Version Manager) for flexible Node.js version management
|
|
- Pip packages are installed with --break-system-packages flag for Python 3
|
|
- All apt cache is cleaned to minimize image size |