What is Joomlatools Gitpod?
Joomlatools Gitpod is a complete Integrated Development Environment and in this instance we have:
- A online cloud source editor Theia
- A LAMP server (Linux, Apache, MySQL, PHP)
- A preconfigured Joomla site
The actual IDE is provided by Gitpod we've just extended their great work to showcase Joomla.
Now, when you're on GitHub and want to start working on a project. Instead of going through the manual setups, cloning the Joomla repo, setting up a local or remote hosting environment, installing Joomla, blah-de-blah-de-blah, you just click a button to start a ready-to-code dev environment in your browser. You can now code, review, or just try out Joomla. Once you are done you simply close the tab.
Getting Started
- Check out the README.md for further details
- Click the
Gitpod ready to code
button
By doing so a new cloud based instance of Joomla will be created. The first build will take significantly longer than successive builds; this is because the development environment (Apache | MySQL | PHP | Joomla) needs to be created for the first time. Once your workspace is available under: Gitpod workspaces you'll be able to launch your IDE very quickly.
How do I use this?
That's easy, fork the repository in the normal manner. This will enable you to customise how this IDE works.
Next up:
- Install the Gitpod browser extension
- Sign into Gitpod
- Again click the
Ready to code
button in the README
How do I install different Joomla versions and or extensions?
We've made this Joomla instance configurable via a config file that resides here .gitpod/config.sh. If this config file contains variables; instead of installing the latest and greatest versions of Joomla You can specify:
- A specific version of
joomla
- Where the github
repo
comes from; if you have an installable Joomla hosted elsewhere - Install additional Joomla extensions via
composer
Further you can install a custom database simply by providing a database dump via .gitpod/install.sql
.
Please note all configuration values in .gitpod/config.sh
are currently commented out. To provide a variable remove the comment #
and provide a value for the variable.
Is this any good for teams?
From Gitpdod's own website:
Gitpod comes with two major features supporting collaboration.
- Sharing running dev environments with other users comes in handy if you want to look at code with a colleague to hunt down a bug together or do some pair programming. Collaborators will see the same code you see and even the terminals are synced and shared.
- Snapshots are useful in many ways. In a nutshell, they allow taking an immutable copy of your dev environment at any point in time. You can share the provided link wherever you want. Users opening such a snapshot link will get an exact clone of the environment including all state and even UI layout. This feature is great for sharing reproducibles in issues, but also good for blog posts or solutions on Stack Overflow.
Bonus: Test Drive our Joomlatools Platform
Joomlatools Platform is a lean mean Joomla platform with less fluff and more oomph. Joomlatools Platform is a modern Joomla stack that helps you get started with the best development tools and project structure.
To give the platform a spin, simply uncomment repo
and composer
in .gitpod.config.sh
commit these changes to your repository and launch your Gitpod workspace once more.
Tell us your thoughts
If you have any more ideas or want to share your workflow with us, we love to hear from you! Get in touch through our developer channels on Twitter or Facebook.
Happy Joomla coding!