-
Notifications
You must be signed in to change notification settings - Fork 7
Using Project Configuration Files
The -p/--project option allows you to specify a project configuration file that contains settings for a specific GitHub repository. This feature is particularly useful when you need to manage multiple runner projects, as each service instance can only handle one repository at a time and group runners are not supported.
Project configuration files provide a way to: * Manage multiple runner projects with different settings * Keep repository-specific configurations separate * Easily switch between different project configurations * Maintain clean separation of concerns for different repositories
To use a project configuration file, specify it using the -p or --project option:
github-hetzner-runners -p my-project.yaml
The project configuration file should contain all the necessary settings for your specific repository, including: * GitHub repository * Runner type * Location * Network settings * SSH keys * And other repository-specific configurations
Here's an example of a project configuration file:
github:
repository: "my-org/my-repo"
token: "ghp_xxxxxxxxxxxxxxxxxxxx"
hetzner:
token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
runner:
type: "cx22"
location: "fsn1"
network: "default"
ssh:
key: "~/.ssh/id_rsa.pub"
Using project configuration files offers several advantages:
- Isolation: Each repository's configuration is kept separate and isolated
- Flexibility: Easy to switch between different project configurations
- Maintainability: Configuration changes for one repository don't affect others
- Organization: Better organization of runner settings across multiple projects
- Version Control: Project configurations can be version controlled separately
- Each service instance can only handle one repository at a time
- Group runners are not supported
- Project configurations cannot override certain global settings
- Keep project configuration files in a dedicated directory
- Use meaningful names for configuration files
- Document any special settings or requirements
- Version control your project configurations
- Regularly review and update configurations as needed
Developed and maintained by the TestFlows team.
- Home
- Installation
- Quick Start
- Getting Started Tutorial
- Basic Configuration
- Specifying the Maximum Number of Runners
- Specifying the Maximum Number of Runners Used in Workflow a Run
- Recycling Powered‐Off Servers
- Skipping Jobs
- Using Custom Label Prefix
- Jobs That Require the Docker Engine
- Specifying The Runner Type
- Specifying The Runner Location
- Specifying The Runner Network
- Specifying The Runner Image
- Specifying The Custom Runner Server Setup Script
- Specifying The Custom Runner Server Startup Script
- Disabling Setup or Startup Scripts
- Specifying Standby Runners
- Specifying Logger Configuration
- Listing All Current Servers
- Opening The SSH Client To The Server
- Deleting All Runners and Their Servers
- Using a Configuration File
- Using Project Configuration Files
- Specifying SSH Key
- Specifying Additional SSH Keys
- Running as a Service
- Running as a Cloud Service
- Scaling Up Runners
- Scaling Down Runners
- Handling Failing Conditions
- Meta Labels
- Estimating Costs
- Listing Images
- Deleting Images
- Creating Custom Images
- Embedded Monitoring Dashboard
- Prometheus Metrics
- Program Options