Download the PHP package pixelbrackets/pap without Composer
On this page you can find all versions of the php package pixelbrackets/pap. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pap
PAP
PHP App Publication
Toolchain to publish a PHP App. Configured with a YAML file only.
🚀
- Build Assets - Minify & concat CSS, JavaScript, SVG assets
- Build App - Prepare expected directory structures & fetch packages
- Lint - Identify errors before the app is running
- Deploy - Sync files to configurable target stages
- Verify - Do a smoke test to verify that the app is still working
- Test - Start integration tests
🔧
- All general settings and shared stages are configured in a YAML file
🎯
- KISS - Not made for every condition, but easy to use and integrate
Vision
- One CLI script with a fixed set of task commands
- No mix, extending or renaming of task commands
- Tasks not configured will abort instead of failing
- Configuration with a flat text file
- Override settings for local machines
- Installation reduced to a bare minimum
- Portable, easy to integrate in many repositories
- Useable by a person who never deployed the app before
- No additional knowledge required
- One command is enough to deploy the app to a stage
- Always the same commands, don't care about the configuration set up
- Works well with robots (CI)
- Minimal requirements on target stage
- Rsync to synchronize files - no FTP
- SSH to connect to stages
- No rollback - Use Git to revert changes
- No provisioning
- Support for monorepos
- Deploy to many stages
General approach: Not made for every condition, but easy to use and integrate
Requirements
- cURL, SSH & rsync
- Git
- PHP
- Composer
- SSH-Account on target stage(s) with read & write access, and right to run cURL, rsync and PHP
Installation
Packagist Entry https://packagist.org/packages/pixelbrackets/pap/
composer require pixelbrackets/pap
💡 Use the
skeleton project
to create a build
directory and add required configuration files right away.
Read the integration guide to learn how to add the tool to your own app.
Source
https://gitlab.com/pixelbrackets/pap/
Mirror https://github.com/pixelbrackets/pap/ (Issues & Pull Requests mirrored to GitLab)
Usage
Run ./vendor/bin/pap
to see all available tasks. Some common tasks are:
-
Deploy to »live« stage
-
Deploy to »local« stage, used for development (default stage)
-
Sync to »local« stage (skips building assets)
-
Sync to »local« stage automatically if anything changes in the source directory (files changed, added or removed)
- Lint current build
Commands
Integration
- Install PAP, either as dependency or in a designated
subfolder
- Best practice is to create a separate directory for the build & deploy process, this is not mandatory however
- Add the PAP configuration file
pap.yml
for all shared settings - Add
pap.local.yml
to your.gitignore
file - Add
.pap.lock
to your.gitignore
file - Optional but recommended: Add a template file to overwrite local settings,
eg.
pap.local.template.yml
- Add a README how to use PAP
💡 There is a skeleton project available to create a build directory and add the above mentioned files.
Configuration
- All general settings and shared stages are configured in
the distribution file
pap.yml
- All settings and stages may be overriden in a local environment file
pap.local.yml
- This file should be added to the
.gitignore
list
- This file should be added to the
- PAP always uses the root directory of the Git repository for all configurable paths, which allows storing the configuration file in any subdirectory
- 📝 Documentation of all available options
💡 Additionally to this short integration and configuration guide you may want to take a look at the walktrough tutorial, which explains all steps to configure an example app.
Updates
See Upgrade Guide
License
GNU General Public License version 2 or later
The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html.
Author
Dan Untenzu (@pixelbrackets)
Changelog
See CHANGELOG.md
Contribution
This script is Open Source, so please use, share, patch, extend or fork it.
Contributions are welcome!
Feedback
Please send some feedback and share how this package has proven useful to you or how you may help to improve it.
All versions of pap with dependencies
guzzlehttp/guzzle Version ^6.0 || ^7.0
jean85/pretty-package-versions Version ^1.5 || ^2.0
natxet/cssmin Version ^3.0
patchwork/jsqueeze Version ^2.0
totten/lurkerlite Version ^1.3