Strigo offers a way of including both exercises and lab configurations within your students’ labs. This GitHub integration helps keep your training content version-controlled and reduces the effort required to manage multiple class templates.
Below is a step-by-step guide on how to configure, fetch, and automatically update your exercises and lab configurations from GitHub.
What Strigo’s GitHub Integration Can Do
Centralize or Split Your Content
You can keep your lab configurations and exercises together in a single GitHub repository for straightforward, unified management—or, if you prefer, you can maintain them in separate repositories to better suit your organizational structure or specific needs.
Simple to Update
Use version control to edit your .strigo/config.yml
and other files, and fetch the latest changes into Strigo.
Auto-Fetch (Optional)
Receive the latest commits to your configured branch automatically after each push, eliminating the need for manual fetching to keep your Strigo classes up to date.
Connecting Strigo to GitHub
To fetch content from private repositories or enable auto-fetch, you’ll need to connect Strigo with your GitHub organization.
1. Verify Your GitHub Identity
Navigate to your Strigo account settings page.
Click “Verify your GitHub identity” and follow the instructions.
Ensure you are signed into the GitHub account that has access to the repositories you plan to fetch from.
2. Install Strigo's GitHub app
Contact your GitHub organization admin to install the Strigo GitHub app on the relevant repositories so Strigo can read your files and fetch updates automatically.
For convenience, here are the Strigo GitHub App Installations.
Preparing Exercise and Lab Configuration Files
Strigo pulls content from a file named .strigo/config.yml
located in your repository. In this file, you can define:
1. Lab Configurations
Specify the display name, platform type, cloud provider, user credentials, etc. for each lab resource you want to provide to learners.
2. Exercises
Add references to exercise files—commonly Markdown (.md) or reStructuredText (.rst). Each file in your repo represents a single exercise.
For convenience, examples and more detailed documentation are in the Strigo Example Labs Repository.
Configuring Your Class Templates to Fetch from GitHub
Edit Your Class Template in Strigo.
Choose to Fetch exercises and lab configurations from GitHub.
Paste Your Repo URL (must be HTTPS, not SSH) and the appropriate branch.
Click “Fetch Exercises” and “Fetch Labs” (or the respective options) to pull them in the first time.
Save Your Class to finalize your settings.
Any changes you make here take effect for new sessions going forward. If you need to refresh existing classes, you’ll have to restart or schedule a new class.
Auto-Fetching Updates
If you want to avoid manually fetching new commits every time you update your repository, you can enable auto-fetch in your class templates. This will automatically retrieve your lab configurations and exercises whenever commits are pushed to the chosen branch.
Automatically Retrieve Lab Configurations and Exercises
Simply toggle the relevant switches in your class settings, then save your class.
Note: Refresh your browser to view updates!
Once enabled, Strigo will attempt to import your latest changes immediately after each commit. This requires:
A valid GitHub connection (for private repositories)
The Strigo GitHub app installation in the repositories you want to fetch from
Correct file paths in your
.strigo/config.yml
The correct repository URL and branch to be specified in Strigo’s class settings
If something goes wrong—such as a misconfigured repository or missing/incorrect data—you can check the class template for validation errors to diagnose and resolve the issue.
Summary
By leveraging Strigo’s GitHub integration, you can manage exercises and lab configurations in a single repository. This streamlines your workflow, keeps everything version-controlled, and allows you to auto-fetch updates if you want the latest content to appear in your classes automatically.
For more information, refer to the Strigo Example Labs Repository. If you need additional assistance, do not hesitate to reach out to us or consult our Help Center.