Skip to content

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.

Before deploying, run one final validation to ensure your complete lab configuration is correct:

Terminal window
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.

Now you’ll upload your lab to the Instruqt platform where learners can access it. Use the Instruqt CLI to push your lab:

Terminal window
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.

After deployment, test your lab exactly as a learner would experience it:

Navigate to the lab URL provided by the CLI or find your lab in the Instruqt platform and click “Start Lab”.

Check that all your infrastructure components are working:

  1. Terminal access - Ensure you can run commands in the terminal tab
  2. Web service - Verify the nginx welcome page loads in the service tab
  3. File system - Confirm you can navigate to /usr/share/nginx/html/ and see the index.html file

Go through the lab as a learner would:

  1. Read the instructions - Review the educational content you created
  2. Edit the homepage - Add “Hello from my web server!” to the nginx homepage
  3. Test the validation - Ensure the task validates correctly when completed
  4. Check the service tab - Verify your changes appear in the web browser

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

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

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

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.

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!