Quicksprint is a basic toolkit to get people started with ddev and a Drupal codebase. This is intended for contribution events where lots of people need to get started with the same environment in a short period of time.
There are two parts to this project:
- A build of the tarball that a contribution event attendee needs (done by a maintainer using Linux or Mac OS, who should be reading this right now). The maintainer uses
package_drupal_script.sh
to create a tarball/zipball for sprint attendees to use. - A released tarball/zipball that has everything ready for an ordinary contributor to get set up fast. It includes a README.md to help them know what to do.
There are several ways to distribute your package such as through a peer-to-peer tool such as ResilioSync, USB flash drives or downloading from the releases page. This will depend on the size of your sprint.
You must provide both the contents of the drupal_sprint_package
and the installs
tarball. (The installs package grew too big for github releases.)
Method | Sprint Size | Bandwidth | Other Considerations |
---|---|---|---|
ResilioSync | 100+ users | N/A | ResilioSync is not screen reader friendly and may be conflict with Firewall/Access Point security settings. Theoretically everyone would be able to get the files at the same time. |
USB drives | varies | N/A | 30+ USB flash drives will work for large events, but people will be waiting in line. |
Download | 25 users | 5 m/s | Sprint venue may not be able to support large number of users pulling releases from github. |
There are some better tools to automate USB flash drive imaging, but your mileage may vary. The following is a no frills method of doing so.
- Download the latest release(s) locally.
- Add the files to a flash drive.
- (MacOS only) Remove hidden directories added by Spotlight and Finder.
- Determine the total file size used on the device:
du /path/to/volume
so you know what the count parameter should be in the dd command below.⚠️ Warning If you are overwriting an existing package on a flash drive then this number must be greater than the previous size!
- Create a disk image using
dd if=/dev/DEVICE
of=~/sprint-package.img bs=1m count=2700`.- (MacOS only) Check the disk device with
diskutil list
.
- (MacOS only) Check the disk device with
- Eject/Umount the flash drive.
- Insert a new flash drive.
- (MacOS/Automount only) Unmount the flash drive if automounted -
diskutil unmount /dev/DEVICE
.
- (MacOS/Automount only) Unmount the flash drive if automounted -
- Reformat the flash drive (if the flash drive has files greater than the size of the disk image).
- Write the image to the flash drive using
dd if=~/sprint-package.img of=/dew/DEVICE bs=1m
. - Eject and repeat 6. as necessary.
- Your users will download and unarchive the tarball or zipball.
- Run install.sh from the unarchived directory; (Windows users must work in git-bash).
- After installation, users can start up an instance by cd-ing to ~/sprint and running ./start_sprint.sh.