Command-Line Tool¶
Fapistrano offers a default command-line tool: fap:
$ fap --help
Usage: fap [OPTIONS] COMMAND [ARGS]...
Options:
-d, --deployfile TEXT
--help Show this message and exit.
Commands:
release
restart
rollback
fap release¶
This command is designed to ship new deployments to you server.
It do pretter little things:
- Start
- Create a new release directory under releases_path;
- Create link files/directories in release directory, symlinking them to files/directories to shared_path;
- Update
- Default behaviour is blank;
- Publish
- Switch current release defined by current_path to newly created release directory;
- Finish
- Remove stale releases, according the number defined by keep_releases.
Example:
[server01] Executing task 'deploy.release'
===> Starting
[server01] run: mkdir -p /home/deploy/www/example/{releases,shared/log}
[server01] run: chmod -R g+w /home/deploy/www/example/shared
[server01] run: mkdir -p /home/deploy/www/example/releases/160314-085322
===> Started
===> Updating
===> Updated
===> Publishing
[server01] run: ln -nfs /home/deploy/www/example/releases/160314-085322 current
===> Published
===> Finishing
===> Cleanning up old release(s)
[server01] run: ls -x /home/deploy/www/example/releases
[server01] run: rm -rf 160313-230707
===> Finished
Done.
Disconnecting from server:2333... done.
fap rollback¶
This command is designed to rollback to previously deployed release.
- Start
Check if there is a rollback release, which is deployed before current release;
- Define:
- rollback_from: current_release;
- rollback_to: release that is deployed previous than current release;
- Update
- Default behaviour is blank;
- Publish
- Switch current release defined by current_path to rollback_to;
- Finish
- Remove rollback_from release.
Example:
[server01] Executing task 'deploy.release'
===> Starting
[server01] run: mkdir -p /home/deploy/www/example/{releases,shared/log}
[server01] run: chmod -R g+w /home/deploy/www/example/shared
===> Started
===> Updating
===> Updated
===> Publishing
[server01] run: ln -nfs /home/deploy/www/example/releases/160314-083000 current
===> Published
===> Finishing
===> Cleanning up old release(s)
[server01] run: rm -rf 160314-085322
===> Finished
Done.
Disconnecting from server:2333... done.
fap restart¶
This command is designed to restart you application.
- Restart
- Default behavious is blank.
Example:
[server01] Executing task 'deploy.release'
===> Restarting
===> Restarted
Done.
Disconnecting from server:2333... done.