This is a Docksal-based for the YMCA’s Website Service Drupal distribution., (*1)
Docksal is used as a local development environment., (*2)
Get Started
You need to install Docksal on your local machine according to Docksal setup instructions., (*3)
Full install from scratch
Note: a local instance of PHP and/or Composer is not required., (*4)
Follow these steps to get fully prepared project., (*5)
Install Docksal
curl -fsSL https://get.docksal.io | bash
Clone OpenY docksal project
git clone git@github.com:ymcatwincities/openy-docksal.git
Add your custom settings
- Create
docksal-local.env
file inside .docksal
directory with content:
YUSAOPENY_PROJECT_VERSION='9.2.x'
YUSAOPENY_VERSION='9.x-2.x'
GIT_REMOTE_UPSTREAM='git@github.com:USER/yusaopeny.git'
IGNORE_CUSTOM='.idea'
-
Use OPENY_PROJECT_VERSION
to specify the branch of the
YCloudYUSA/yusaopeny-project
to be used as a composer project. In the most
cases you'll need:, (*6)
-
9.2.x
for a last stable yusaopeny release.
-
9.2.x-development
for a latest development yusaopeny.
-
Use YUSAOPENY_VERSION
to specify the branch of the YCloudYUSA/yusaopeny
will
be checkout automatically. Take in mind, the yusaopeny version corresponds the one,
required in a root composer.json
. Use 9.x-2.x
to start the development from
the latest yusaopeny progress., (*7)
-
Replace USER
by your user name from github or remove GIT_REMOTE_UPSTREAM
if you don't need an upstream repository to be set automatically., (*8)
-
During an execution of a build_project
command, all the directories except
an ignored ones would be deleted.
If you work on the existing project and want to save any folder in a project
root directory - add folder name to IGNORE_CUSTOM
. Directories names should be
separated with spaces., (*9)
If you want to use your fork as an origin remote and the main repository as an
upstream remote, add the following variables to the docksal-local.env
file
as follows:, (*10)
GIT_REMOTE_UPSTREAM='git@github.com:YCloudYUSA/yusaopeny.git'
GIT_REMOTE_ORIGIN='git@github.com:USER/yusaopeny.git'
In this case, after project install git will already track the repositories
you specified as origin
and upstream
remotes, (*11)
Build Y USA Open YMCA project
Run this command inside your project directory:, (*12)
fin build_project
As a result you will get full YMCA’s Website Service installation in your file system., (*13)
The "Killed" message during command run usually means that you need to increase
memory limits in your Docksal. For macOS or Windows overall memory volume
available for Docker is limited by the virtual machine or Docker Desktop
settings., (*14)
Install YMCA’s Website Service site
After fin build_project
command finish you need to install a site. For this
you can use one of this commands:
- fin init
- fin install_steps
- fin upgrade_init
, (*15)
More details about these commands you can get below., (*16)
Alternative installation process
# Install Docksal
curl -fsSL https://get.docksal.io | bash
# Change directory to your workspace
fin run-cli composer create-project YCloudYUSA/yusaopeny-project yusaopeny --no-interaction --no-dev
cd yusaopeny
fin run-cli composer install
fin init
Open the URL printed at the end of the setup (e.g. http://yusaopeny.docksal.site
) to see your local copy of the latest stable YMCA’s Website Service., (*17)
Docksal environment for YMCA’s Website Service
Open the project's folder and run one of the commands., (*18)
Administrator account is admin:admin., (*19)
Start the project
fin init
The webserver starts up, and the site will be installed automatically with drush si
., (*20)
Install site from UI
fin install_steps
The webserver starts up and for site will be provided base configuration.
After finish you need to open site in browser and continue installation from UI.
This command is useful for testing YMCA’s Website Service install form., (*21)
Testing Upgrade path
fin upgrade_init
The webserver starts up and the site will be installed from YMCA’s Website Service DB dump
that contain pre-installed previous YMCA’s Website Service version.
After installation will be executed all new updates that were added in the latest YMCA’s Website Service versions., (*22)
How to develop?
After you run the "fin init" and have your environment ready you need to do few things., (*23)
- Create a fork of https://github.com/YCloudYUSA/yusaopeny.
- In your project go to
docroot/profiles/contrib/yusaopeny
and edit .git/config
file. Replace repo URL to your newly created fork.
- Then you can create a branch in your repo, push some code and create a pull request back to
YCloudYUSA/yusaopeny
repo.
How to run behat tests?
Edit behat.local.yml
and set base_url
to web
and wd_host
to http://browser:4444/wd/hub
.
Then you can run your behat tests with ./vendor/behat/behat/bin/behat
., (*24)