Step 4 - Testing & Deployment
Your lab is complete and ready for learners! In this final step, you’ll deploy your lab to the Instruqt platform and test it as a learner would experience it. This ensures everything works correctly before sharing it with others.
Final Validation
Section titled “Final Validation”Before deploying, run one final validation to ensure your complete lab configuration is correct:
instruqt lab validate
This checks for any configuration errors, missing references, or syntax issues that could prevent your lab from working properly on the platform.
Deploy to Instruqt Platform
Section titled “Deploy to Instruqt Platform”Now you’ll upload your lab to the Instruqt platform where learners can access it. Use the Instruqt CLI to push your lab:
instruqt lab push
This command:
- Uploads your lab configuration and content to Instruqt
- Validates the lab structure on the platform
- Makes your lab available for testing and sharing
The CLI will show you a URL where you can access your lab once the deployment is complete.
Test the Learner Experience
Section titled “Test the Learner Experience”After deployment, test your lab exactly as a learner would experience it:
Start Your Lab
Section titled “Start Your Lab”Navigate to the lab URL provided by the CLI or find your lab in the Instruqt platform and click “Start Lab”.
Verify Infrastructure
Section titled “Verify Infrastructure”Check that all your infrastructure components are working:
- Terminal access - Ensure you can run commands in the terminal tab
- Web service - Verify the nginx welcome page loads in the service tab
- File system - Confirm you can navigate to
/usr/share/nginx/html/
and see theindex.html
file
Complete the Task
Section titled “Complete the Task”Go through the lab as a learner would:
- Read the instructions - Review the educational content you created
- Edit the homepage - Add “Hello from my web server!” to the nginx homepage
- Test the validation - Ensure the task validates correctly when completed
- Check the service tab - Verify your changes appear in the web browser
Verify Task Validation
Section titled “Verify Task Validation”The most critical test is ensuring your validation script works correctly:
- When incomplete: The task should show as not completed and provide helpful feedback
- When completed: The task should automatically validate and show success
- Error handling: If learners make mistakes, they should receive clear guidance
Troubleshooting Common Issues
Section titled “Troubleshooting Common Issues”If you encounter problems during testing:
Lab won’t start:
- Check the validation output for configuration errors
- Ensure all resource references are correct
- Verify your GitHub repository is accessible
Task validation fails:
- Test your validation script manually in the terminal
- Check file paths and permissions
- Ensure the script logic matches the task requirements
Infrastructure issues:
- Verify container images are pulling correctly
- Check network connectivity between resources
- Confirm service ports are properly exposed
Share Your Lab
Section titled “Share Your Lab”Once testing is complete, your lab is ready to share:
- Direct link: Share the lab URL with specific learners
- Embed in courses: Add your lab to existing Instruqt tracks or courses
- Team sharing: Make the lab available to your organization or team
What You’ve Accomplished
Section titled “What You’ve Accomplished”Congratulations! You’ve successfully created and deployed a complete Instruqt lab that includes:
- Infrastructure as code with containers, networking, and services
- Interactive educational content that teaches real-world skills
- Automated validation that provides immediate feedback to learners
- Professional deployment on the Instruqt platform ready for use
You now have the foundation to create more complex labs with multiple tasks, advanced infrastructure, and sophisticated learning experiences.
What’s Next
Section titled “What’s Next”With this foundation, you can:
- Add more tasks to create multi-step learning experiences
- Expand infrastructure with databases, APIs, or cloud services
- Create lab series that build upon each other
- Explore advanced features like dynamic content and branching scenarios
Your journey in creating interactive learning experiences with Instruqt has just begun!