https://github.com/f5devcentral/f5-agility-labs
F5 Agility Lab Guides Organizing Repository
https://github.com/f5devcentral/f5-agility-labs
documentation f5-agility-labs sphinx training-labs
Last synced: 22 days ago
JSON representation
F5 Agility Lab Guides Organizing Repository
- Host: GitHub
- URL: https://github.com/f5devcentral/f5-agility-labs
- Owner: f5devcentral
- License: mit
- Created: 2017-07-08T19:12:37.000Z (over 8 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-26T22:16:54.000Z (about 1 month ago)
- Last Synced: 2026-02-27T03:43:53.919Z (about 1 month ago)
- Topics: documentation, f5-agility-labs, sphinx, training-labs
- Language: HTML
- Homepage: https://clouddocs.f5.com/training/community/
- Size: 7.53 MB
- Stars: 5
- Watchers: 14
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# f5-agility-labs
[](https://travis-ci.org/f5devcentral/f5-agility-labs)
[](https://github.com/f5devcentral/f5-agility-labs/issues)
This repository contains the build infrastructure used to create lab content
for F5 Networks Agility Labs hosted at http://clouddocs.f5.com
It is recommended that you use the Sphinx lab template here:
https://github.com/f5devcentral/f5-agility-labs-template
This repository leverages a CI/CD toolchain with full build, test and publish
to production environment.
# Install/Build Content
- `git clone https://github.com/f5devcentral/f5-agility-labs.git`
- `cd f5-agility-labs`
- `git submodule update --init --recursive`
- `script/build`
# Adding your Lab
**At this time only F5 Networks employees can request addition of a lab**
To add your lab to this repository please email:
- *AgilityLabsRTD
Be sure to include your lab repository URL.
# Repo Structure
All labs are included as git submodules in the `labs` directory. The submodule
tracks the `master` branch on the remote repository. It should be assumed that
all commits to `master` will be published to a production environment.
The scripts in the `script` directory automatically build HTML and PDF content
and output to the `_build//[html|pdf]/` directory.
During build an index page is generated using the Sphinx project in `docs`. The
generated index is then copied to the `_build` directory.
# Branches
- `master`: Protected branch; **HEAD publishes to production**; No push access
- `develop`: Protected branch; Pull Requests are tested through Github Actions
All modifications to this repo should be via a Pull Request to the `develop`
branch. PR's will be tested before merge. Repo admins will then merge
`develop` to `master` as required to publish to production.
# Update Lab Submodule
First be sure to do a `git pull`
To `pull` the latest commits for **ALL** submodules:
`git submodule update --recursive --remote`
To `pull` the latest commits for a specific submodule:
`git submodule update --remote labs/`
Push new commit hashes for submodules:
- `git commit -a -m "commit msg"`
- `git push`
# Add Lab Submodule
- `git submodule add labs/`
- `git commit -a -m "commit msg"`
- `git push`
# Remove Lab Submodule
- `git submodule deinit -f labs/`
- `rm -rf .git/modules/labs/`
- `git rm -f labs/`
# Build Options
The following environment variables can be used to modify what is built:
- ``SKIP_BUILDLABS``: Presence of the variable will cause lab content
build to be skipped. Landing page will still be built
- Example: ``export SKIP_BUILDLABS=1``
- ``BUILD_LIST``: A space delimted list of lab submodules to build. By
default the contents of the labs/ submodule directory are populated
in this variable. Setting allows you to build only specific labs
- Example: ``export BUILD_LIST="adc ddos programmability"``
- ``BUILD_ALL``: Force a build of all submodules in ``BUILD_LIST``
- Example: ``export BUILD_ALL=1``