Release Recipe
require 'recipe/deploy/release.php';
Configuration
release_name
The name of the release.
Default value
return within('{{deploy_path}}', function () {
$latest = run('cat .dep/latest_release || echo 0');
return strval(intval($latest) + 1);
});
releases_log
Holds releases log from .dep/releases_log
file.
Autogenerated
The value of this configuration is autogenerated on access.
releases_list
Return list of release names on host.
Autogenerated
The value of this configuration is autogenerated on access.
release_path
Return release path.
Autogenerated
The value of this configuration is autogenerated on access.
release_revision
Current release revision. Usually a git hash.
Default value
return run('cat {{release_path}}/REVISION');
release_or_current_path
Return the release path during a deployment but fallback to the current path otherwise.
Default value
$releaseExists = test('[ -h {{deploy_path}}/release ]');
return $releaseExists ? get('release_path') : get('current_path');
Tasks
deploy:release
Prepares release.
Clean up unfinished releases and prepare next release
releases
Shows releases list.
Example output:
+---------------------+------example.org ------------+--------+-----------+
| Date (UTC) | Release | Author | Target | Commit |
+---------------------+-------------+----------------+--------+-----------+
| 2021-11-06 20:51:45 | 1 | Anton Medvedev | HEAD | 34d24192e |
| 2021-11-06 21:00:50 | 2 (bad) | Anton Medvedev | HEAD | 392948a40 |
| 2021-11-06 23:19:20 | 3 | Anton Medvedev | HEAD | a4057a36c |
| 2021-11-06 23:24:30 | 4 (current) | Anton Medvedev | HEAD | s3wa45ca6 |
+---------------------+-------------+----------------+--------+-----------+