Spinning Up New Projects

Use this guide to start all new projects in Tandem. I could also be used to massage existing code bases into our workflow as well.

1. Choose a start state

Drupal 8 Template

This is a base Drupal 8 start state. It integrates all our testing, utilizes a composer workflow, and integrates with platform.sh. Utilize this start state if you want a to build a completely custom site from the ground up.

Drupal 8 Minimis Template

This is similar to the Drupal 8 Template above, but uses the Minimis Distribution. This start state is typical for most small to medium sized projects.

ContentaCMS Template

This is similar to the Drupal 8 Template above, but uses the Contenta CMS Distribution. Utilize this start state only if you are building a decoupled Drupal 8 site.

2. Create a new repo

  1. Create a new repo for the new project
  2. Mirror your chosen start state

3. Record the new repo

Add the new repo to the list of current projects.

4. Spin up platform.sh site

  1. Contact Alec Reynolds to spin up a small site on platform.sh.
    • Only Alec has the powers to do this.

5. Spin up site locally

  1. Change the name of the site in .lando.base.yml
  2. Change the project ids in .lando.base.yml to match your platform.sh project id.
  3. Run lando start

6. Integrate with platform.sh

  1. Add the platform.sh git repo as a remote in your local. You can grab the git repo from the dashboard of your project. The run the following commands:

    git remote add platform [email protected]:PLATFORMID.git
    git push platform master
    git remote remove platform
    
  2. Run lando platform to login to the platform.sh cli

  3. Generate a GitHub user token.

  4. Integrate GitHub with platform.sh via (obviously change the variables):

    lando platform integration:add \
      --type=github \
      --project=PROJECT_ID \
      --token=GITHUB-USER-TOKEN \
      --repository=USER/REPOSITORY \
      --build-pull-requests=true \
      --fetch-branches=true
    
    
  5. Run lando pull to pull the site on platform.sh locally into yours.

6. Platform.sh variables

  1. Generate a platform.sh token

  2. In your local repo, create a .env file and add the token like:

    PLATFORMSH_CLI_TOKEN: token-hash
    
  3. In the platform.sh settings add the variable with the token

7. Setup Travis

  1. Connect the repo to travis if it isn't already.

  2. Setup the travis variables:

    PLATFORMSH_CLI_TOKEN=TOKEN_FROM_STEP_6
    PLATFORMSH_PROJECT_ID=PLATFORM_PROJECT_ID