Created
May 19, 2022 02:52
-
-
Save unicornware/ba3e41628cef7e33b0bbf55d41636823 to your computer and use it in GitHub Desktop.
Pantheon x GitLab Workflow Setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# PREREQUISITES | |
# | |
# 1. setup gpg for git | |
# - https://medium.com/@jma/setup-gpg-for-git-on-macos-4ad69e8d3733 | |
# 2. install glab | |
# - https://github.com/profclems/glab#installation | |
# 3. install terminus | |
# - https://pantheon.io/docs/terminus/install | |
# 4. install lando | |
# - https://docs.lando.dev/getting-started/installation.html | |
# 5. find terminus upstream id | |
# - terminus upstream:list | |
# 6. set environment variables | |
# - GITLAB_GROUP | |
# - NODE_VERSION | |
# - SITE | |
# - SITE_DIR | |
# - SITE_LABEL | |
# - TERMINUS_FLAGS_SITE_CREATE | |
# - TERMINUS_MACHINE_TOKEN | |
# - UPSTREAM_ID | |
# WORKFLOW START | |
# create site directory and enter | |
mkdir $SITE_DIR && cd $SITE_DIR | |
# create new pantheon site | |
# https://pantheon.io/docs/terminus/commands/site-create | |
terminus site:create $SITE $SITE_LABEL $UPSTREAM_ID <options> | |
# add sftp connection info (host, password, username) to ~/.ssh/config | |
# https://pantheon.io/docs/terminus/commands/connection-info | |
terminus connection:info $SITE.dev --fields 'sftp_*' | |
# get initial site files from pantheon | |
# https://docs.lando.dev/lando-101/lando-init.html | |
lando init --source pantheon --pantheon-auth $TERMINUS_MACHINE_TOKEN --pantheon-site $SITE | |
# init yarn 2 project | |
# https://yarnpkg.com/getting-started/install#initializing-your-project | |
yarn init -2 | |
# update gitignore (NOT using zero-installs) | |
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored | |
# create .nvmrc | |
echo $NODE_VERSION > .nvmrc | |
# add package.json | |
# add eslint, husky, lint-staged, markdownlint, prettier, and vscode configs | |
# update readme with project specific info | |
# add contributing guide | |
# create gitlab repository under $GITLAB_GROUP using current directory name | |
glab repo create --group $GITLAB_GROUP --defaultBranch next --tag pantheon | |
# follow prompts; have glab run git init | |
# stage all files | |
git add . | |
# make first commit | |
git commit -S -m first commit | |
# push to repo | |
git push | |
# WORKFLOW END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment