Stars: 166
Forks: 79
Pull Requests: 456
Issues: 316
Watchers: 17
Last Updated: 2023-09-01 12:33:28
Open Source DevOps Framework
License: GNU General Public License v2.0
Languages: Shell, PHP, Makefile, CSS, JavaScript, Gherkin, Python, Jinja
DevShop is an Open Source DevOps Framework and a set of reusable components designed to improve the web development, testing, and server management process, especially for Drupal websites.
The goal of DevShop is to provide a complete web development & testing pipeline out of the box, while empowering users to choose their own server infrastructure and systems architecture.
DevShop uses Ansible & Ansible Galaxy for server configuration, Symfony Console for command line tools, and Drupal for the web interface.
The DevShop Components are small, independently functional tools that are all designed to work together.
These tools are designed to be useful regardless of the hosting or DevOps systems they are being run on.
Drupal CI/CD Dashboard and Ansible Server Manager in a Box
One command, many stages for flexible CI per environment.
deploy
command to be used in CI systems designed to encompass the entire cycle: git updates, code build, reinstall, deploy hooks and test.--skip-reinstall
can be used on a demo site to prevent destroying the content.composer.json
, to easily customize commands for each site. For example, to import config or not.Simple test runner with GitHub API integration.
Run commands with standard beautiful output.
Simple abstract CLI for interacting with the GitHub API.
Traits and classes for accessing Git, GitHub and Composer Data.
GitRepositoryAwareTrait
: Add to any class to read info from the current Git Repository.GitHubRepositoryAwareTrait
: Repository functionality plus a helper methods like getRepoOwner()
.ComposerRepositoryAwareTrait
: Repository functionality plus accessors for getting data from composer.json
.Split a monorepo with a single command.
composer.json
config.See https://galaxy.ansible.com/opendevshop for all roles.
As we progress forward with the Ansible and Docker system, more common web services will be created and released as Ansible Roles and Docker containers.
Version | Status | Aegir | Hosts | Status |
---|---|---|---|---|
1.x | Stable | 3.x | D6, D7, D8 |
DevShop is a "cloud hosting" system for Drupal. DevShop makes it easy to host, develop, test, and update drupal sites. It provides a front-end built in Drupal (Devmaster) and a back-end built with Drush, Symfony, and Ansible.
DevShop deploys your sites using git, and allows you to create unlimited environments for each site. DevShop makes it very easy to deploy any branch or tag to each environment
Code is deployed on push to your git repo automatically. Data (the database and files) can be deployed between environments. Run the built-in hooks whenever code or data is deployed, or write your own.
DevShop utilizes the main components of the Aegir Hosting System: Hosting and Provision. It does not use Hostmaster; it uses its own installation profile, Devmaster. It does not use the theme, Eldir. The default DevShop theme is called Boots and is included in the Devmaster install profile.
DevShop uses many additional contributed modules that Aegir core does not.
OpenDevShop Inc is a founding member of the Aegir Cooperative. Lead DevShop developer Jon Pugh is a core Aegir maintainer.
See aegir.coop for more information.
See the Tour section of the documentation for a quick walk-through of the DevShop interface.
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
For the full list of Backers and Sponsors, see BACKERS.md
DevShop is licensed under GPL v2.
This means any forks of this code must be released as open source and also be licensed under the GPL.
For full documentation on DevShop, visit docs.opendevshop.com or see our git repository github.com/opendevshop/documentation.
Think this can be improved? You can Fork our Documentation on GitHub!
Thanks!