https://github.com/factorial-io/phabalicious
Supports your deployments and every-day devops-tasks
https://github.com/factorial-io/phabalicious
deployment docker drupal fabfile kubernetes phab phabalicious
Last synced: 13 days ago
JSON representation
Supports your deployments and every-day devops-tasks
- Host: GitHub
- URL: https://github.com/factorial-io/phabalicious
- Owner: factorial-io
- License: mit
- Created: 2018-11-26T16:52:11.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-03-07T16:21:45.000Z (about 2 months ago)
- Last Synced: 2025-04-20T18:04:35.285Z (15 days ago)
- Topics: deployment, docker, drupal, fabfile, kubernetes, phab, phabalicious
- Language: PHP
- Homepage: http://docs.phab.io
- Size: 6.22 MB
- Stars: 18
- Watchers: 12
- Forks: 4
- Open Issues: 11
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Phabalicious



Phabalicious is using configuration stored in a special file in the root of your project (the fabfile.yaml) to run tasks in a shell. This shell can be provided by a docker-container, a ssh-connection or a local shell. This means, you can store all your devops-scripts in the fabfile and apply it to a list of configurations. Phabalicious tries to abstract away the inner workings of a host and give the user a handful useful commands to run common tasks, like:
* deploying new code to a remote installation
* reset a remote installation to its defaults.
* backup/ restore data
* copy data from one installation to another
* scaffold new projects
* run scripts on different local or remote installations and run-contexts
* handle SSH-tunnels transparently
* trigger webhooks
* send notifications via mattermost
* interact and deploy to kubernetes clustersIt integrates nicely with existing solutions like for continous integration or docker-based setups or diverse hosting
environments like lagoon, platform.sh or complicated custom IT infrastructures.## Documentation
You can find the docs here at [docs.phab.io](https://docs.phab.io)
## Installation
Phabalicious needs at least PHP 7.3 with the json- and openssl-extensions. Most of the methods dependes on installed
cli commands, you will get an error-message if they can't be found.### Installation via homebrew (mac os x)
```
brew tap factorial-io/homebrew-phabalicious
brew install phab
```* If you have installed phab previously, you might need to delete phab from `/usr/local/bin`
### Installation using published phar
* Download the latest version from [Github](https://github.com/factorial-io/phabalicious/releases)
* copy the phar to a suitable folder, e.g. `cp phabalicious.phar /usr/local/bin/phab`
* Make it executable, e.g. `chmod u+x /usr/local/bin/phab`Please refer to the [installation-guide](./docs/installation.md) for more information regarding the installation.
## Enhancing phab, contributing to phab
We welcome contributions! Please fork the repository, create a feature branch and
submit a pull-request.Please add test-cases for your bug-fixes or new features. We are using GrumPHP to
check code-style (PSR2), run tests etc when committing new code. This repository
uses github-flow as branching strategy.### Commit-messages
The project follows also the conventional-commit best-practices (since 3.8), you can run
```
yarn install
yarn cz # if you have installed commitizen globally you can use also git cz
```to get a helper composing your commit-message. We are using the `method`-name as `type`
in the commit-message to group them together, e.g. `feat(k8s): Support helm`## Create a release
This repo is using github-flow to manage versions. Releases are created by
github-action automatically. Phab is using [standard-version](https://github.com/conventional-changelog/standard-version)
to automate preparing a release. It will take care of bumping version numbers and
updating the changelog.To prepare a new release, run the following commands:
```
yarn install && yarn release
```To prepare a preview-release (e.g. a beta-version)
```
yarn install && yarn standard-version -- -t '' --sign --prerelease
```## Rebuild the docs
The docs are built with vuepress, so you need to run `yarn install` beforehand.
### Review them locally
Run `yarn docs:dev`, this will allow you to browse the docs with your browser with
hot reloading and all the fancy stuff### Build and publish the documentation
Run `yarn docs:build`. This will build the docs and push it to the `gh-pages`-branch.
Github will then publish the changes to https://factorial-io.github.io/phabalicious/