This section of the Documentation is in more of a guide format.
We are using it for providing training on DevShop.
We are actively populating this section. Please be patient as content becomes available!
This material will be rolled into the general documentation as we fill out the details.
Preparing for DevShop: Domain names and DNS. 1. Buy a domain name or choose a subdomain on an existing domain. 2. DNS Setup.
Get DevShop: how to install devshop on your own server. 1. install.sh: Standalone install script. 2. Docker: Getting devshop running on Docker with our Docker Container. 3. Vagrant: Launch a vagrant image of devshop with our built in Vagrantfile. 4. Ansible: Configure a devshop server with our Devmaster Ansible Role.
Create a codebase: How to add Drupal to a git repository. 1. Rules for a good codebase. 2. Create a new git repository. 3. Download drupal into it. 4. Push the new code up to your git repository.
Create Projects: How to start new Drupal projects. 1. Adding new projects. 2. Setting up Git Access. 3. Automated Deployment Settings. 4. Environments Creation. 5. Installation Profile selection.
Create Environments: How to launch new sites for your project. 1. Create New Environment: Run install profile. 2. Clone Environment. 3. Fork Environment.
Project Dashboard 1. Dashboard: List all environments. 2. Project Settings. 3. Logs: Environment Task Logs. 3. Git Repository. 4. Branches & Tags. 2. Webhook Settings. 2. Drush Aliases.
Project Settings 1. Deployment Hooks: Clear Caches, Revert Features, etc. 2. Deployment Automation: Immediate, Queued, Manual. 3. Domain Name Settings: Live Domain, automated subdomains. 4. Default Environment Settings: Default servers, default install profile. 5. Testing: Simpletest or Behat. 6. GitHub or BitBucket integration:
Create Environments for Pull Requests
Delete Pull Request Environments
Pull Request Environment Creation Method
Disable Deploy on Commit.
HTTP Basic Authentication: Password protect your site.
Error logs: Making logs available.
Environment name, git version, Drupal version, environment status indicators.
Log in button.
Deploy Code: Change the branch or tag, and pull code.
Deploy Data: Copy databases and files from other environments.
Deploy: Stack. Choose the servers for this site.
Git Status Display.
Last Task Display.
Export & Import Config.
Flush all caches.
Run DB Updates.
Site Migration primer: Database, Files, Code.
Using DevShop Drush Aliases.
Adding "Remote Aliases" for Deploying Data.
Using the command line.
Connecting to Devshop
My Account > SSH Keys.
Always SSH as [email protected]_master.
Drush Aliases are available on the project dashboard.
Selecting your Primary Environment.
Locking your Database.
Configuring Environment Domain Names & Redirection.
Deployment & Environment Management Strategies
Dev + Test + Live.
Live + Pull Request Environments.
Stage + Tagged Releases: Git Tag > Manual Deploy on Live.
Continuous Deployment: Merge to
master > Automatic Deploy to Live.
Release Environments + Pull Request Environments. Create an environment with a tagged release for testing, then deploy to live.
Web Servers: Apache or NGINX. Requires SSH access and sudo access to reload web server.
Database Servers: Any MySQL-compatible server. Requires a database root user access.
What is CI: Breakdown of CI terms and topics.
Branch Driven Development: Using git & branching to improve code quality and developer efficiency.
Branch Environments: Creating copies of your site on different branches to isolate bug fixes and new features until it’s ready to merge.
Configuring Automated Testing: Check the box to run Behat tests.
GitHub API Integration: Pull Request and Commit Status integration.
Custom Tests with hooks.yml: Create a file in your Drupal site to run any command you wish.
Advanced Topics: Selenium, Docker, Screenshots, Visual Regression, & more.
DevShop Cloud: How to use DevShop to create new servers using just your API key.
DevShop Ansible: How to use DevShop to configure and manage your servers automatically using Ansible.
Cloud Examples: Using Aegir Cluster & DevShop Ansible to launch multiple web servers and a load balancer.
Web Interface: Devmaster: Drupal site with Aegir modules.
Servers & Services.
Queues: Cron, Tasks, Backups, Deploys.
Hosting Settings & DevShop Settings
Command Line Interface
Aegir User: No sudo except for webserver reload.
Drush Aliases & "Contexts":
Use @hostmaster for web interface.
Separation between Web & Command Line interface.
Hosting Task Management 1.
drush @hostmaster hosting-queued 2. Supervisor. 3.
drush @hostmaster hosting-tasks /
drush @hostmaster hosting-task 123 4. Using Jenkins for Task Running with github.com/opendevshop/hosting_task_jenkins
Customizations 1. Customizing settings.php