23 Sep 15

welcome everybody thank you for coming this is great trick on Barcelona great

times alright this session is on dev shop it's an open source product that we

built free and open source gives you hassle free hosting and testing so

hassle-free right that's kind of a bold statement but easy is good we think so

what makes it easy what makes it hassle-free right we've tried to make it easy to install got a single standalone

install script right get that script you run it you've got a deaf shop we've made

it really easy to upgrade so we have a single command that you run that does all the steps you need to upgrade this

server to the latest version it's really easy to extend because it's built in Drupal and rush itself so if you build

Drupal sites you're familiar without deb shops put together most importantly

we've made it really easy use if you get push your you can use def shop press the

button we like to say there's a lot of buttons we like to press we've made lots of buttons and made them try to make

them pretty and easy to use in order to be productive right this is all about

streamlining the development process and being more efficient at built-in web sites so yeah you know we all want to be

productive it's a lot of work sometimes in order to be productive you really you

want a place to work you want to clean nice place to work so def shop is and

now I guess to a workshop right if you're if you build things you have a workshop of some kind it's got tools

it's got space everything you need to do your job to build things so def shop is

like a developer's workshop right has servers tools all your environments

everything you need to do your job of building websites to be a good to be

productive you want a clean organized workshop right you know as clean as

possible I don't know what your workshops look like or your development shop looks like but maybe it's something

like this the servers people work with sometimes end up looking like this really we

wanted to look like this right nice and clean something to be proud of so def

shop is user focus in this case the users are the developers pm's everybody

right who's deaf shop for we really feel like it's for everyone like it's a website you go to you log in you can see

everything that's going on you're in your workshop everyone it helps helps everyone sis admins developers project

managers QA people CTO the CEO clients

content managers designers they all are involved in this process Deb shop is like a common place for them all to go

and see what's going on as a sysadmin right I want to automate myself out of a

job you know so that's kind of the old joke about six admins but it's really true developers just want to build

websites now project managers were just want to make sure they do their job QA

managers want to make sure they do their job correctly CTOs obviously want to ensure all the projects go well clients

want to make sure they're only project goes well content managers simply want to create content designers want to

design so these are all the things they like to do things they don't like to do

sis admins they really don't like to get calls at two in the morning right the service gone down developers really

don't care for solving server crashes or figuring out what I the site's not working project managers really don't

like having to satisfied customers QA managers really don't like to yell at their team but you know maybe they do

they can do that a lot CTOs you know they really don't want to watch everything fail when if your workshops

dirty failure can be pretty common CTOs really don't like that clients really

don't want their websites over to go down content managers really don't want to lose their content and designers just

don't want to be sad when they see what their their work actually on the website right so def shop helps all of them

right what does it give you a time right so it's an automation system

so we're going to save time by being more efficient by being more productive how do we do it with a sweet interface

you know so this is what the project home page that looks like it's a dashboard right shows you every single

project you're working on gives you the Drupal version shows you the installation profile shows you the get

URL so you can easily copy it get to work it shows you links for every little environment you've gotten running there

in this case all three are green with a check that's good you can use any git repo with depp shop anywhere you can

clone from aqua you can come from pantheon as long as it has access with ssh you can use it this is what a debt

of the project looks like project dashboard alright there's a link for settings link for logs a link directly

to the github repo a little drop-down tells you what branches and tags you got tells you install profiler is when the

last time a commit was detected you can have as many or as few environments as you want each one of these blocks

represents a website copy of your website this widget is the production

with site right so has a name you can name it whatever you want you want to call it live you want to call it

production call it whatever you want the branch there says it's on the live

branch it can change to a tag if you deploy it with a tag Drupal version you

can lock it so you will destroy your data and you can mark it as the live site which is a little lightning bolt

there so you know this is my life site I'm not going to touch it shows you all the URLs you have attached here what

this particular environment this one's got three has a button to log in you

press that button you wait a second you get a link and you're logged in as an as the admin and you're good to go so if

you have access to the dev shop front end you always can get into the website you don't have to remember the password

three days ago is the last time I commit happened on this site the files link

goes to a finals browser right in the web browser the backups shows you all

the backups you have and then we have the deploy buttons right we can deploy

code we can play data we get to deploys its a stack which is the servers that it's right on so when you would deploy

code you can chew use a branch or a tag to the polite ale you can change any environment from one

branch to the other change it to another tag do it however you want you can

deploy data by copying data from other environments this includes database and

files there's even a little trick you can copy from any drug sale eous if you hook up remote environments and then

there's the stack which is the set of servers that are running your environment you can fit as many

environments on one server as you want but you can also attach other servers right how different have production be

on a different server create whole array of clusters whatever you want so branch

environments are updated continuously every time you push code pulls to that environment make sure it's always up to

date a tag environment this tag never changes right so it just sits there you have to manually change it to another

tag it's very similar to Aqua cloud if you use that task logs right so every

environment has a little tasks display it changes dynamically depending on what's running and you click that little

button there and it drops down the latest tasks you can click the logs to go to the full list and see when things

happened and what we click the little sliders button that's four settings

gives you another drop-down you can go to the environment settings there's a button to download modules into the

project you can click that clone environment button to copy the environment to make a duplicate fork and

environment means copy it and create a new branch and push the branch so you're ready to go with a new branch disabled

environment allows you to turn it off and back on again before you delete it if you delete it be disabled it then you

can delete it there's a setting in there to let you just turn it off don't destroy it but it's always safe to have

that second step right so with a button you can push the verify that makes all the sure all the files are set up right

all the permissions are set up right everything is working correctly make sure patchi's working correctly flush

all caches rebuild registry run grande ronde be updates you can do all these things manually if you want to you

really don't have to that because every time you push it will run those tests for you backup restore

and run tests in the dashboard you get this nice little get URL displays and

developers can just go there and copy and paste to go develop locally again get it drop down with branches and tags

available the web hook URL is set up automatically now with github so you don't really have to worry about that but the drudge button is really handy

you push that you get a pretty pop-up window shows you all the dress a this is very easy to click and download get

access note the note here if you need to access you actually need to upload your SSH key and we've got that too so thanks

to Drupal we've got SSH key module just like the one that's running on you upload your SSH key it

puts it on the server for you and you're ready to go you can connect to that environment and your developers can use

this to so Deb trap deploy right this is this is the original driver of this

project deploying is can be a pain unless you have the tools to automate it before Pantheon and aqua cloud it was

like risky to deploy things like you change the code and remember a wait I

need to go clear caches I need to run updates no we're going to standardize that running deploy hooks every time the

same did you clear the cache is not a question but it always has the same

answer didn't have to okay every time you push code clears the caches this is

very useful for productivity because femurs for example can just push a template they don't have to go to the

site and clear the cache afterwards they don't have to do anything it will run those hooks every single time you push

your code run database updates as well revert features is an optional deploy hook and you can trigger a test run as

well after every single get push have a little feature in there that detects if

you use aqua cloud and use their cloud hooks and write your own scripts for your own deploy hooks we find them

notice that you have them and we'll run them for you as well on the dev shop server so compatible with Acquia cloud

sites so def job tasks these are the

things that run right tasks are like drush commands they run on it but they

run on the back end but they're triggered from the front end so this allows you as it just through your web browser to go and click

clear cache go and click rebuild registry all of these things the tasks are logged then it knows when they

failed it knows when they pass successfully it knows when they had errors and it shows you very clearly

with these icons and the timestamp form fields in the front end become drush

options in the back so you can create your own commands very easily if you needed it this is the download modules

task so you simply type in the modules you want you hit save and accuse up a

command to run drush d lv you see tools same thing similar things for deploy

these checkboxes get past two options drush provision deploy update cash cash

okay so very easy to basically build these kind of pre-approved steps that

you can run from the front end on the back so each task run gets its own page

they're actually nodes in the front end Drupal site so you get a sweet page like this that tells you success or error

tells you what happened tells you how long it took tells you the date that it ran on how long ago that was and it

tells it gives you the link directly to the site that it actually ran that task on running tasks is better than running

commands manually right you're in there with the terminal you're a genius you're amazing you can hack on the terminal

super fast and easy it's great right you know how to do that but seriously running tasks is better it saves a log

of what you did right it controls access to who's allowed to run those tasks so it's done safely you can't make a typo

you know it's it's built in history is maintained all the logs are saved you

can go back see what happened when you can't do that when you're just running commands manually on the command line right so tasks are great so there's a

lot of different tools built in the shop in addition to what we already saw like I said there's a brown right built into

the website front end is a browser you so you can click and see what files are actually on your server this was helpful

early on when deployment might not have worked I could go in and see is that file actually they did it actually show up on the server

click view easy cron is automatically set up you don't have to deal with that

has a crown queue that runs on every single site that's hosted on Deb shop don't have to set that up ever again

backups or automatic you can have that configurable to run backups on its time on a queue you know any timeframe you

want you can lock an environment so it won't destroy the database and it logs all the errors to the front end so you

can make some visible on the front end so you can easily go in and see what happened what's going on what's wrong

all that stuff so speaking of logs not only did we show error logs went ahead

and show to commit log in there too it's just really handy right now to go into the server figure out what the latest

commit was what changes happened none of that he's click logs commit log error log watchdog easy all in one place

download modules button already touched on but I'm just so excited about it you

don't need to clone your code to add modules to your project whoa right you just type in the name of the module

theme you want to download you can even type in a commit message right there it'll Q come in the back end to download

them add them to get commit them push them in one press of a button same thing

with committing features write any dress command can turn into a task drush features update all git commit add all

that stuff so many clicks fill out the form press the button run the task makes

it really easy to manage features all the time update all git commit git push

one press of a button so like I said before def shop servers right you can

connect as many servers to a central deb shops over as you want so it was able to deploy sites to remote servers

independently each project each environment can live on its own server if you want it to live somewhere else

very simple to set up ok we made a command that does it all again it will

set up all the packages it will walk you through the process of connecting over ssh it will make sure that it actually

can connect it will make sure that actually has the right IP walks you through every step of the way provisions the entire thing using

ansible playbooks gets a patchy running it's my school running does the entire process and you're good to go really

easy to configure once you have it set up so on each project you can configure the default environment settings and

this means that whenever you create new environments for that project they'll go on to that server so you can say I want

this project on this server i want this other customer to be on that server very simple to separate your site's out on to

as many servers as you want right in the UI we have the stack button this was you

saw this earlier shows you the IP address shows you what servers the system is what the site is running on very simple very easy to configure

change it you can move it you can migrate sites between environments no problem all through the front edge most

importantly right this is where it gets from the testing part testing can be kind of hard to be a lot of maintenance

a lot of work to get a testing system set up this system just does it so

giving them on the home page and let's just see welcome right this is kind of an assumption we all would have had

about our websites we want to see something on the home page this is an actual behat test if you have not used

the hat yet go do it it'll change your life you write these tests in plain English like that will run a machine

will read that test and show you if it works okay so it outputs the exact text

of the test when you run it this is the output of a running tests if it's green it worked if it's red it failed right so

given I'm on the home page then I should see view GIS hub data for this particular project that text is gone so

either something wrong with the site or maybe the test is wrong but we know because this screenshot is from the deb

shop interface so right in the web browser you can click and see their test results very quickly allowing you to fix

whatever you have broken and allowing everyone else that is working on the website to see also see what's broken

you know so a PM can click there and say hey developer I noticed your test is broken because that line of text is no

longer there maybe you should go update that test because and test that darn passing because the

copy is wrong very easy to fix so this helps to avoid exponential complexity

you know Drupal have you ever built a access control based site like organic groups private content social network

key type stuff it gets very very very hard to test all of those different use

users like who is able to see what this person one created it so this person

should hide it a human being really cannot process that type of work manually write your brain starts to hurt

when you start to pretend to be four different people in one test so as an example right this test would work right

if you had a let's say you only lad block your blogs to be visible to logged

in users running this test will run through these steps for every one of

these roles right so if p hat swaps out the role with the item in the table so

for for each one of these it runs given i'm logged in with the anonymous role and I'm viewing a blog post then I

should not see my blog post and I should not see edit and then it runs it again

as a lot of end-user the logged in user authenticated should review be able to view it but should not be able to edit

go through the same thing for moderator role go do the same thing for administrator role this is incredibly

helpful and will make you way more productive because you can't tell when you're breaking things because you have

to go through this mental exercise of pretending to be four different people so you can add annex it really easy to

write not just tests but whole sets of tests that run as in different iterations over your project feature of

dev shop is that you can specify if you want all the tests are just some of them

to run on every git push so with each environment you can check the boxes and say this is a special environment my

developers working on something complex I only want this one test to run every time you push right give us faster

feedback loop developers work faster they get the feedback faster things move a little smoother and gently just run

them all now it's up to you one of the great things about the Hat test as well is because they're in in

English everyone can contribute to them all right you don't even need to clone

the code github com it gives you an edit button right hand the website this is

what it looks like you can type it in English and when you scroll down you can even fill out check this little radio

button here this is create a new branch and start a pull request super super easy you just press that green button

name your branch PMS contest's right I've trained PMS to write the Hat test

and submit pull requests pretty cool so

back to the standard right we all know you should have a dev site and a test site in the left side we've all probably

learned that by now right well in reality there are some problems right

with that workflow it can be a challenge it works pretty well if you're like a solo developer right but as you grow as

you as you have a team having straightforward development like that can really be confusing right because

everyone's pushing code multiple efforts can be colliding you can people over write each other's work people are

pushing incomplete work you know and then you have to figure out well how do i deploy this right if this developer

has some incomplete code in there you're constantly going to rebuild these environments to write if you push new

code you're like how often you hear like hey is anyone on anyone mind if I

destroy dev and sync resync it up with a database of production what about tests you know it's kind of a pain we ask that

question and you sit around waiting for people to answer and you don't know if you're going to ruin someone's day right by destroying those environments so it

generates confusion and with the larger your team is the more likely you're going to have that situation so there is

a better way right and some some people a lot of people are already doing this this isn't necessarily new but pull

requests all right branches using get to separate all the work you know her task

or / developer however you want to do it you can now there's many blog posts

about this like well about created a system that has some tools to do this there's lots of blog posts like I said

about how to do this but def shop has a built-in as a product you get pwned request environments alright pull

request driven development you open a pull request you get a new environment it gives you a link you click the link

you see you see your site you see your code running on the production database clones it multiple task can be developed

in parallel very easy to configure right in the project settings you check a box to create environments for pull requests

you check the box to delete them when they're merged very important I've seen

QA servers that forgot to delete those PR environments and you end up with like hundreds of websites sitting there

filling up the server filling up all this file space not good you got to have that cleanup process in place the

deployment method for pull request is configurable you can either run the run an install profile or you can just clone

live so it's nice if you're depending on what you're working on if you're building a distribution it's going to be really handy to run the install profile

from scratch if you're putting a regular website you usually want to clone live and this is what it ends up looking like

celery interface changes slightly when you're using pull request environments get a nice picture of your developers

there's a friend jacinto there your deploy failed though I don't know what's wrong with your code so each pull

request has on its own branch as you can see build manager 30 or 15 and hence data preview each one gets its own link

with the name of the branch in the URL so it's very easy to click it and see and remember what this particular

environment is for and again every time you push code and runs the deploy make

sure the cache is clear make sure that your deploy its run and then it will actually run the test as well so every

single push from every single developer will run those tests separately so that you can get your job done quickly and

easily this can grow and then you end up something like this you get a lot of

websites so it's important to review code regularly and merge things when

they're done but this shows that you can really really take off you can have as many environment as you want really it's

almost too easy to create them because you get end up with things like this so you want to try to tone it down and

merge your pull request and get someone to review those things but with Deb shop if you're running

tests and you have good tests you just grab your bugs well anybody can review those and anybody can click that merge

button and say good work you're done so this is what it looks like when it's

running so it looks like when it fails that's what it looks like when it passes good job developer and tests are passing

congratulations so beyond that github integration github azizan crabs these

incredible api's that let you put information into github right so when you submit a pull request we can

actually notify that pull request put a little notification there that says Deb shopbot deployed this code to this URL

that deployed text is a link directly to that URL so without even going into the

desktop interface developers see there's my code there's my environment I can click it see if it worked pm's to all

their bosses everyone that's in charge can see what's going on easily click total transparency a lot of fun okay and

here you can see github has AIDS commit status API where we can flag a commit as

passing or failing on multiple levels right so there's two built-in commit

statuses for Deb shop there's the deployment itself where it's running through as if it were to point alive by clearing caches and doing all the deploy

hooks I'm in the second one this for tests is the tip the test pass or not so both of those things are very important

because the test doesn't include the deployment part so once it passes it

looks like this very friendly green color makes you very confident that you can merge that pull request if you test

three up to date so right good tests and

by the way those details links over there those go directly to the test

results so developers not only going to link to their environment they get a link straight to the test results they

can see what happened what went wrong very quickly and easily again dashboard

right shows your whole operation it wants every project and environment this updates dynamically now

so when it's running a test it will spin the little gear will spin if it passes it'll turn green if it fails it'll turn

red all right lots of little environments that's a little more migrants pretty cool so how's it all put

together a little bit of technical background warning it's on agar if you

know a girl you might be groaning a little bit right now but that's too bad because it's kind of awesome there's a

lot of good things about it it does a lot of things really well it takes care of a lot of the work that you have to do

to have a good hosting system sets up apache for you files database settings

everything is handled automatically the right way every time right here's a task

logs it shows change permissions of the settings file to the right permissions change changes everything the way it

should be the ownership of the files handled I need to know to think about it tracks every module everything every

version that you have installed on your site very easy to give you insight into your site each environment it does this

for you know very neat very cool to see from a high level everything that's

going on your website and it's just secure by default you know follows best practices so future of deb shop already

working on it right docker so cool get into it later we have a buff on Thursday

come we'll talk about what we're doing it's powerful stuff dr. is amazing we

built the tool to make running Drupal sites and any any site really it works wordpress and anything that runs in a

container we built a command-line tool which will be the new back end deb shop and maybe other tools we call tara and

that we also have a buff about and haven't blogged about it yet or any of that stuff is still pretty early but

very exciting stuff going on over there we've got some great contributors like hey zeus motive hasta tu t'appelle

drupal console eclipse GC Chris Vander water is contributing to it because he's an eager user and wants to help build

the future he built the plug-in system for Drupal 8 we might be able to use the same plug-in system for Drupal 8 in this

Tara command tool so anyway another presentation come to the buff with me a lot of fun def

shop use case right we're using it a lot of places right now in production it

works so one of our biggest partners is called new Civic it's a company from New York they builds a distribution for

Drupal called d can it is a open data portal so it's very it's neat it's like

a content management system for data sets so they are spinning these up all over the place for a lot of customers

like the country in Sierra Leone they have an open data portal now which is

very helpful but now right transparency and how their government works is key to

improving these countries Ebola data org is a website they created to simply

share information because their data portals built for that both of these are hosted using deb shop on IVM softlayer

because the project is a partnership with IBM and the World Bank North Dakota

we have a data portal up for them running on dev shop in their data center so they have a very secure data center I

have to do all sorts of things to log in there with the VPN and random pins and

everything but it's a linux server def shop can run on it i have to manually deploy because it's behind a VPN so good

hub can't tell it to deploy it's still no problem login click a couple buttons deployed no problem and then help daddy

gov is another great site they built and launched for the health and human services for the united states federal

government and that's a is actually hosted on aqueon they host a lot of other sites on Acquia has a lot of sites

on pantheon but def shot makes a great standard platform for testing and for

building your websites regardless of where those sites are hosted all right so some of those screenshots before of

the dashboard are all of their websites in one place running basically as a continuous integration server so it's

really easy and fun bill lon dep shop to test on def shop but to host it anywhere

alright so it's one of the fun parts about being open source oh boy so movie

time alright this is a movie right I recorded

it so it's not a live demo okay I'm confident now alright so this is my

website i created a dog blog this is our

deaf shop server I've got a link here for my live site I've got a beautiful

dog who needs a website this is the test i wrote to test this website i'm going

to commit some code here because i added this test i'm going to push this code to

that branch the dev test branch and once it pushes a little slow on the internet

and the way it goes we push the code so there's the github repo i look for my

branch and i'm going to submit a pull request because it was just in a branch i didn't push the live or any of that stuff right so there's my branch i could

see my to a coop commits ahead i'm going to give it a nice name so everybody knows what it's for just adding some

tests not going to do any heavy duty development today just going to make sure that the site works so when I click

create pull request it should notify me right away right that we have queued a

deployment we have queued a test run the developers know it's coming your site's

going somewhere your codes going somewhere it's going to be online ready

for you to click and review so we're going to patiently wait for the site to clown this is a real time video no

editing so we're going to hold our breath for a few minutes and watch this

go there's a link directly to the pr so i'm just checking out the pr now look yeah def shopbot requested a deployment

there's the URL it's going to be at ok i guess when it's done i'll be able to click that so still going to just be a

little patient it's copying the entire site copying the database copying the files it's going to be exact copy of

that production live site there and looks like the cologne finished it's got

to do a couple extra steps to import the info into the deaf server but look the play went well all

right green check box so the catch is cleared okay I assume the updates

cleared okay because it passed if the updates or caches didn't clear correctly that would be a big red X and almost

there almost there patience

so the links go back to the test results if I reload here I believe this is when

it works yeah there it is so my PR 2 has a link I can click it meritus cloner my

website custom URL specific to my branch no problem easy to click send that around send them to your manager center

your boss saying hey look I got the new features just go to this lake we use it even for clients would be like feature in progress need feedback from a client

give them a PR link i'll link to that URL check it out what do you think there's the test running it cutting

loads in real time this test happened so fast though because it's a short one but this page will load the test as it's

running in real time and you can watch it run the tests it's a lot of fun when you have a longer test I should have

written the longer test at for this video anyway you can see oops it failed great red X what happened click the link

for details go directly to this beautiful full-color test results page you can see the text oh I got the text

wrong right so I wrote a test that was bad instead of me should be the life and

times of flora Bell that's my dog's name so I'm going to commit that change very

simple fix the test commit it I'm going to push it right before i push it i'm

going to make sure the github page is open because i want to see it happen in real time so i click the dashboard i

click the github icon it goes to the goes directly to the page and when I

push I should see some more activity on that page so I'm gonna push and then quickly go back to github and boom there

it is alright github is a nice real-time web page as well shows you requested a

new deployment so it puts its really cool it puts the notification right into the timeline so you see you commit

commit deploy commit commit deploy and then the test run so there it is we see

the deploy running let a little animation there a little slider in the gear spins it's hard to see the gear

spin if you're in the back but there we go turn green the ploy worked cash is cleared properly update database or an

no problems now we're going to see if the test run finishes but again patient

but we're not still not going to click anything manually or trigger anything manually it all strings it together for

us automatically and go back to the dev shop dashboard just to see what's going

on ah now the tested running should finish boom green show all checks deploy

success test success click the details link see how it passed everything is

green we are good to go nice work developer this PR is ready for merge so

like I said it's just github notice we never left the browser right after we push that code click the button to merge

because the project's configured to delete PR environments when you merge that code is now queued for deletion

alright so the deletion takes a few minutes as well because it's getting rid of everything cleaning up after itself database files apache config everything

and if I reload here you'll see no more site Oh gone so now that that PR

environment is deleting I think we're ready for a new release you notice the live environment is on version 2 and we

have not created our tag yet so I'm going to go create our next release by

checking out the master branch pulling the latest changes because there are new changes because we merged it on github

we didn't use the even use the terminal to merge I'm going to tag a new release

push the tag b3 back to github go back

to the dev shop and in a minute I will it will know that there's a new tag

right now it says to now it says three all right so there's the tag it's

available for deployment I click deploy code on the live environment it tells me what I'm going to do I can decide at the

last minute to change the deploy off so I want to so we want to clear caches and run the updates but you don't have to

and now we're done and now we're going to sit and wait and watch this go of I in real time and not click anything and

hope it works so the deploy is running I'm pretty

we're almost one hundred percent sure that it's going to work right because we've just tested the deployment same

code same database in that PR environment right consistent deployment off-screen and then it goes away verify

so immediately after the deployment works it runs a verify script just to make sure all the files are in place and

immediately after that that passed as well as we expected run tests changes

dynamically right in front of your eyes now it's running the tests on production in that past as well so that's it right

we're going to click the link see the site is up and running and we're good to come clean deployment full circle pull

request environment tests and an awesome website with an awesome dog somehow

writing their own blog I don't know how it happened but she loves that grass just hanging on the grass that's it

that's the video so thanks for watching

thanks a lot so anyway you can try def shop very easily it's got a bigger the

repo itself has a vagrant file in it so just clone the code run biggrin up and you'll get a def shop server we use that

for development as well you can read the docs up on how to enable development mode so you can work on it if you want

we really want you to come to contribute to it open source product it's Drupal right it's the Drupal of DevOps come

help us out if it doesn't do what you want come help us out tell us what's wrong with it join the chat room tweet

your anger about it we want to know what's wrong with it so we can make it awesome for everybody like I said come

contribute it's on github there's multiple projects associated with it because it's obviously a very big system

it uses ansible playbooks for provisioning the servers and the rest is just PHP so it's really relatively

accessible and we're making it better all the time the next versions are going to be incredible come connects I'm on

open dev shop on Twitter get def shop calm think JEP net and we built a little

support portable as well so every dev shop installation has this big purple Help button so if you ever have any

problems just push the button type in your question and we'll get back to you as soon as possible thank you leave your

message at the beep def shopped out support that's a real URL lots all these

new URLs a lot of fun yep coming up on tomorrow we scheduled to buffs it was a

dev shop workshop come bring your computer if you want me to help you spin it up you want me to help you you know

learn more about it come talk whatever you want to do just come to the buff me a lot of fun and then after that one in

the same room so we actually have a nice to our block there is going to be our tera planning and strategy session where

all the contributors are going to come together and start working on it do some more things talk about the future teach

other people that want to learn about it come to come learned doctor will all be all try to be very helpful and

collaborate and I guess that's it right questions I guess yeah there's a there's

a mic in the back so if you can move mind lining up so we can record it and everyone can hear you thanks

just a quick question this looks amazing by the way in a lot of integration with with github who does it also work with

get lab we use that yeah it would just be another module to create so we want to support every popular get system get

bucket yeah exactly so I mean it's really all have relatively similar functionality so there's a deaf shop

github module in in core and we would love contributors to help out to create

like other other modules that will work with different get providers I just don't personally work with bitbucket so

hasn't been a priority but again please help thanks thank you aha we'se agar and

make files a lot for doing our moods so I just wondering it look like you easing full git repos yes so where we'd make

files that is all has been a feature request for a long time and is simply

complicated and we want to figure out how to do it right yep but it's just it you know it is really complicated so we

want to like the repo then where does the repo go come to the buff i would

love to iraq make that happen and it really is something we want to make happen but we want to do it the right way and we also want development to be

quick right so the rebuild if it's a make file every time you push is going to be slower which you know people have

will have okay with time with that but yeah we love any help we can get to make

that happen yeah to question of first one how does it work with multi-site at

aqua with dark we emojis yeah so if you have multi-site a setup attack where

with their depth cloud or not they've cloud but their enterprise cloud right

right like the site factory is that no it's just like they're so in in a choir

in their enterprise solutions you have your own stage and websites and

production sites and you can have multi sites on them so they handle it that you have several databases and you separate

them by different domain names yeah so it doesn't it doesn't use multi site but

you could create an environment for each one of those sites if you were to want to use it you know for testing things okay and

how does it scale when you start having a database that's one gigabyte and data

it's four gigabytes yep so you can add additional servers so you can move the

database servers around built it doesn't have we don't have like built-in automated scaling yet but because it's

linux you can basically set up anything you want you can set up master slave databases you know manually we're going

to do more and more to incorporate automatic scaling tools and make that as

easy as possible but for right now it's basically just you know manually set up the eager has a cluster for the web

servers but the database thing you would still need to basically just follow best practices and set that up on your own

again it's on the trying to make everything automate it is on the road map so down the road we'll have more of

that Thanks hi I have several questions

John off the question century already also we're getting the macphails but my

question is this def shop is actually extending a good host master of you placing osmose stuff and also I look at

you have a deaf shop proficient is it extension of the provisions or at

replacing the provision yes and then I also look at that you are using a greater 6.1 right and then to now oh yes

okay so you already upgraded and then seems like the Deaf shop to will seems like you'll use high gear 3 because it's

ready release and basically it does my question is like extending or replacing

right so it there's a installation profile called death master which

replaces the host master install profile but it uses all of the hosting modules okay if that makes sense right if I'm

like a similar vision provision is still used okay as well so I guess my question is we have a lot of custom like you're

at us that we credit so you probably saw will book right yep they should all work

fine the environment they're not environment knows they're just site notes right so it's an invite we have a

record in the database for each environment but it's still just a site not-it's nagar site now so any task that

eager can use dental can use as well so basically how we extend that shop is is

this similar to when we actually i extend i get yes exactly thanks thank

you well well it's amazing works but you

show how its work with jit github actually and its work pretty well but

what about big bucket a big bucket yes actually someone had a question earlier

and it has a basically a dumb webhook receiver so if you can you can hook it

up to anything that has a post receive hook so it will work with bitbucket now but it won't do any of the smarter

things like deploying just 21 environment or the pull request integration but because it's a very

common feature request and we hope to have more contributors to just plug it in you can copy the deb shop github

module and just follow the pattern and recreate and we would love to have more people contribute and try to make that

happen I'm just unfamiliar with bitbucket personally so I haven't done it what we did that get that would be great yeah I know a lot of pee a lot of

people do that gentleman earlier asked about it so like I said we listen to our users so you're setting the priority of

the backlog right now right so please come to the buff we'd love to get as much help as we can there's just a lot

of moving parts and a lot of work but to make this project work so that just

hasn't come around yet but yeah like I said please help hi it looks very

promising and I probably joined the ball four or something the question I have is

about the only restriction I see in using it it uses intensively subdomains

to which i don't think i have access can we work with subdirectory instead

subdirectory instead arm I don't probably not right because it's a git repo the files are just direct are

cloned I mean I'm really i don't know i mean

the subdirectory thing that has to be a folder right there is no kind of magic DNS thing we can you can do for that

right like it that's a good question but I don't yeah

right so anyway yeah he said that you know ager itself supports that subdirectory system so it should work

now that I'm thinking about it right as it should work it should be possible it

would just it will take probably take a little bit of tweaking you know it clones the beach project closings in

each environment into a folder its own folder on the back end so it just it would be it's worth exploring what I'm

just curious why it why don't you have access to like the DNS subdomains type of thing being part of a bigger

organization we don't choose everything right so okay right its internal yeah so

I that's that's good to know that that situation exists for some people so we should definitely look into how to make

that work and just to have an idea what would be the migration effort if you have already a continuous delivery with

Jenkins and the like well it's basically it would just be like moving any other

side so you put get put your get site in there and you can manually type databases in it's all it's all drush and

aliases on the back end so you would just have a do a little bit of a manual import you know from the command line

yep just like moving any other site from one server to another so thank you thank

you all right any other questions yeah

you mm-hmm

right right right right so yeah just to

repeat the question was if you can let clients sign up and kind of create request their own sites and I mean the

answer is is kind of yes because it's it's it is a ger and it's and it's Drupal and it's all permissions based

but we haven't implemented like per user access control on the projects and sites

so if you can access the project you can see all the sights but that's been a very other very common feature request

is to you know be able to control who can see which particular site and we

would love to implement that so let's talk about it okay I don't know the

final slide so that's it thanks for coming

English (auto-generated)


Devshop is a fully open source product for hosting and testing Drupal sites.

It can be used on its own or as a multi environment add on to Acquia Cloud or Pantheon.

In this session we'll show you how to get your Drupal sites up and running quickly and easily, and how to start testing your work with Behat in minutes.

It integrates directly with GitHub pull requests, giving you a fresh environment for each one. Get instant feedback on your deployments and test results right in the GitHub interface.

DevShop makes web development easier for everyone, removing the need for complex setup or maintenance.

See and for more information.