https://github.com/fourkitchens/pantheon-tools
Tools to run actions against a Pantheon site
https://github.com/fourkitchens/pantheon-tools
pantheon terminus
Last synced: about 1 year ago
JSON representation
Tools to run actions against a Pantheon site
- Host: GitHub
- URL: https://github.com/fourkitchens/pantheon-tools
- Owner: fourkitchens
- License: gpl-3.0
- Created: 2017-05-12T15:37:46.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2023-10-27T16:48:58.000Z (over 2 years ago)
- Last Synced: 2025-03-27T18:22:27.839Z (about 1 year ago)
- Topics: pantheon, terminus
- Language: Shell
- Size: 177 KB
- Stars: 16
- Watchers: 14
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pantheon-tools
Tools to improve your development workflow on Pantheon sites including:
* Tips to make your workflow smoother/faster/less-risky.
* automating important steps that are easy to forget.
This includes things like:
* Sort out configuration problems before you move on to the next step.
* Create a backup before deploying.
* Merge the main/master branch into a multidev before going the other direction.
* Pause a deployment if there's undeployed code in the next environment.
* General standardization around development process.
* etc.
## Pre-requisites
1. Install [Terminus](https://github.com/pantheon-systems/terminus).
2. `terminus auth:login` to store an access token.
3. Upload your SSH key to the Pantheon dashboard.
4. Add Terminus to your Path. For example, if Terminus is installed at `~/.composer/vendor/bin/terminus` then you need to add `~/.composer/vendor/bin` to your path.
5. Use Git to checkout this pantheon-tools repository, maybe to the same place you store your other code projects.
6. Add the directory containing pantheon-tools to your Path.
### How to add something to your path
E.g.
```
export PATH="$PATH:$HOME/.composer/vendor/bin"
export PATH="$PATH:$HOME/path/to/pantheon-tools"
```
Depending on your system, you must add the above paths to `~/.profile`, `~/.bash_profile`, or `~/.zshrc`.
Note that an alias will not work.
## Usage
1. This may be getting a lot of updates, so first ensure that you have the latest version.
```
cd /path/to/the/pantheon-tools
git pull
```
2. The scripts are totally interactive. Just run them. E.g.:
```
pantheon-security-update
```
The script will ask you questions along the way (and give you hints when there's ways to add arguments to make things faster).
## Scripts (Categories)
### Deploy
| Command | Description |
|--|--|
| `pantheon-quick-deploy` | Quickly deploy something from dev->test->live |
| `pantheon-commit-and-quick-deploy` | Commit any local changes and then deploy them |
| `pantheon-deploy` | Deploy dev->test or test->live |
### Report
| Command | Description |
|--|--|
| `pantheon-drupal-status-report` | Report a summary of the Status Report for every Drupal site |
| `pantheon-sites-report` | Get a metric about all sites (e.g. PHP version, or Upstream) |
| `pantheon-module-report` | Get a list of which sites use which version of a module |
### Update
| Command | Description |
|--|--|
| `pantheon-security-update` | Run security updates on a Pantheon site by first creating a new multi-dev environment |
### Database
| Command | Description |
|--|--|
| `pantheon-db-dump` | Dump a database from any Pantheon site. Even VIP clients that require an SSH tunnel to connect to the database |
| `pantheon-db-cli` | Connect to the database of any Pantheon site. Even VIP clients that require an SSH tunnel to connect to the database |
### Environment
| Command | Description |
|--|--|
| `pantheon-multidev-create` | Create a new multi-dev environment |
| `pantheon-multidev-merge` | Merge a multi-dev environment into master (the dev environment) |
| `pantheon-move-domains` | Move custom domains from one site to another |
### Accounts
| Command | Description |
|--|--|
| `pantheon-sites-accounts-rename` | Iterate over all a given list of sites and rename usernames/email addresses |
| `pantheon-offboard` | Offboard a staff member from your organization |