67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# Gitea Runner Automation with Ansible
|
|
|
|
This repository contains an Ansible playbook and configuration files to automate the deployment and configuration of a Gitea Runner on a Rocky Linux 10 VM.
|
|
|
|
To deploy a Rocky Linux virtual machine, please go to [this repository](https://git.phyllo.me/IaC/advanced-libvirt-terraform-examples).
|
|
|
|
## Repository Structure
|
|
|
|
```
|
|
├── ansible.cfg # Ansible configuration settings
|
|
├── inventory.ini # Host inventory definition
|
|
├── setup.yml # Main playbook for Gitea Runner configuration
|
|
├── update.yml # Playbook to ensure system is up-to-date
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
1. Ansible installed on your control machine
|
|
2. Access to a Rocky Linux 10 VM with IP `10.17.3.36`
|
|
3. SSH key authentication configured with `~/.ssh/terraform_key`
|
|
4. Root privileges or sudo access on the target VM
|
|
|
|
## How to Use
|
|
|
|
1. **Install Ansible** (if not already installed):
|
|
```bash
|
|
# For CentOS/RHEL/Fedora
|
|
sudo yum install ansible
|
|
|
|
# For Ubuntu/Debian
|
|
sudo apt update && sudo apt install ansible
|
|
```
|
|
|
|
2. **Ensure SSH key exists**:
|
|
```bash
|
|
ls ~/.ssh/terraform_key
|
|
```
|
|
|
|
3. **Run the playbooks**:
|
|
```bash
|
|
ansible-playbook update.yml
|
|
ansible-playbook setup.yml
|
|
```
|
|
|
|
## What This Does
|
|
|
|
This automation will:
|
|
1. Connect to the specified Rocky Linux VM
|
|
2. Update the system packages
|
|
3. Install necessary dependencies (git)
|
|
4. Create a dedicated gitea-runner user
|
|
5. Set hostname to rocky10
|
|
6. Download and install Gitea Runner v0.2.13
|
|
7. Configure systemd service for automatic startup
|
|
8. Start the Gitea Runner service
|
|
|
|
The result is a fully configured Gitea Runner that will automatically start on system boot, ready to execute Gitea Actions workflows.
|
|
|
|
## Troubleshooting
|
|
|
|
If you encounter issues:
|
|
- Verify SSH connectivity to the target VM
|
|
- Ensure Ansible can reach the specified IP address
|
|
- Check that `~/.ssh/terraform_key` has correct permissions
|
|
- Review output logs for specific error messages
|
|
|
|
For additional help with Ansible configuration, consult the [official Ansible documentation](https://docs.ansible.com/ansible/latest/index.html). |