openulmus / openulmus.org

Openulmus.org - an open collective sustained project for the public production and sharing of knowledge
MIT License
6 stars 2 forks source link

Dev & Test Servers #48

Open cleverington opened 6 years ago

cleverington commented 6 years ago

This task is aimed at creating documentation for reference and faster Administrative / Developer onboarding.

https://openulmus.org is the "Production" Server.

Where / what are we using for a Development and Test Server?

If they already exist:

Best Practices Workflow

image

gusaus commented 6 years ago

Revisiting this issue after a brief convo with @rickmanelius in Drupal Slack about incorporting DDEV into our dev flow - https://github.com/drud/ddev

gusaus [11:47 AM] Is DDEV for ELMS:LN possible? https://twitter.com/mgifford/status/999329509630468096 Mike Gifford@mgifford @gusaus @aitala @psu_drupal @elmsln I was just hoping to use ddev for building ELMSLN rather than another approach with Vagrant. But ya, lots of ways to learn by trying (and sometimes doing). TwitterMay 23rd

rickmanelius [11:48 AM] @mtift welcome welcome! @gusaus Oh it probably is and I literally just need to schedule an hour with Bryan and make this happen. We’ve been friends for too long and our worlds need to collide again on this side of things.

rfay [11:49 AM] Looks like it's a Drupal add-on, my bet is if it's all PHP it will "just work"

rickmanelius [11:49 AM] Yup Actually, let me just do this I’m sick of it being pushed off my list :slightly_smiling_face: Ah, now I remember. I think it’s because it’s set up as a multi-application that is where it might be a bit more complicated.

gusaus [11:52 AM] @rickmanelius As you may have heard :grinning:, #drupalopenlearning already has ddev and ELMS:LN in sort of a disjointed state. So making that happen would make for a great way to share knowledge and get folks involved.

rickmanelius [11:53 AM] Yeah I agree. Just need to understand exactly how Bryan stitched ELMS:LN together with the Vagrant instructions so I can figure out exactly what is needed. config.hostsupdater.aliases = [“courses.elmsln.local”, “media.elmsln.local”, “online.elmsln.local”, “analytics.elmsln.local”, “studio.elmsln.local”, “interact.elmsln.local”, “blog.elmsln.local”, “comply.elmsln.local”, “discuss.elmsln.local”, “inbox.elmsln.local”, “people.elmsln.local”, “innovate.elmsln.local”, “grades.elmsln.local”, “hub.elmsln.local”, “lq.elmsln.local”, “cdn1.elmsln.local”, “cdn2.elmsln.local”, “cdn3.elmsln.local”, “data-courses.elmsln.local”, “data-media.elmsln.local”, “data-online.elmsln.local”, “data-studio.elmsln.local”, “data-interact.elmsln.local”, “data-blog.elmsln.local”, “data-comply.elmsln.local”, “data-discuss.elmsln.local”, “data-inbox.elmsln.local”, “data-people.elmsln.local”, “data-innovate.elmsln.local”, “data-grades.elmsln.local”, “data-hub.elmsln.local”, “data-lq.elmsln.local”] I’ll move this convo over to #drupalopenlearning when I can block out 2 hours Because I just need to get my mental RAM in it enough to know what the path forward would be. In short, I’ll get attention on this this time… promise.

rickmanelius commented 6 years ago

The primary issue I'm facing is that the installation instructions. There is a lot of work in the setup scripts that is centered around getting a VM for a specific OS operational, but it will take a little bit of time to break this out into specific service requirements. Ultimately, DDEV breaks out each project (generally a single site) into one set of containers and this might be counter to the approach of adding all of these services into a single VM.

Caveat. I've spent a grand total of 15 minutes on this thus far, so I still need to take a deeper dive.

rickmanelius commented 6 years ago

I'm specifically referring to https://elmsln.readthedocs.io/en/latest/INSTALL/#elmsln-installation-guide, which references https://github.com/elmsln/elmsln/blob/master/scripts/install/root/elmsln-preinstall.sh.

btopro commented 6 years ago

initial dependencies are split out into other OS specific installers (getting php in place, apache, mariadb/mysql), after that it installs in a more generic manner; key breakdown of infrastructure

we've had many back and forth discussions about if the whole thing is dockerized, if just tools are, or if the invocation of new things is. My concern w/ dockerizing individual things is that you might (this is conjecture) run into a resource issue where PHP can't cache the location of all the files pervasively and so opcache gains are specific to each VM, basically breaking the resource advantages of multi-site. (this is like an hour of research awhile ago as a caveat)

gusaus commented 6 years ago

As it looks like this might take a little bit of time to sort out, do y’all have an idea of the time/resources needed? Probably could include in the overall project scope https://github.com/openulmus/openulmus.org/issues/1 (which needs to be revisited)

gusaus commented 6 years ago

@rickmanelius Also should point out the branding or marketing sites have different requirements. https://github.com/openulmus/openulmus.org/issues/32 For instance, the current (also not quite finished) front to https://openulmus.org/ is running on GravCMS. The Drupal Open Learning instance will run on Drupal.

Possibly those could be additional enviroments DDEV could support?

gusaus commented 6 years ago

Assuming it's going to take a bit of time/resources to roll out a proper DDEV environment and workflow... is there a current process for updating to the latest/greatest version of ELMS:LN aside from asking @btopro nicely 🌹

Based on all the reviews, it seems like the version is going to enable us to change the world!

btopro commented 6 years ago

your welcome to run git pull origin master and have leafy do the upgrade. I dono what reviews your referencing but they sound great

gusaus commented 6 years ago

Leafy scares me, but it sounds like it shouldn't be too difficult for someone who knows what they're doing? Think the ideal would be to pay someone to set up and manage (and document) the various ELMS:LN and Grav environments for Open Ulmus... also spin up instances #21 and do a similar thing for other interested projects/communities. There probably are a handful of other projects with interest.

Is there anyone in ELMS:LN land who might be looking for this type of work?