mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
add Flow page under getting-started section
This commit is contained in:
parent
ca81f7ff68
commit
a99267004c
1 changed files with 111 additions and 0 deletions
111
documentation/getting-started/flow/index.markdown
Normal file
111
documentation/getting-started/flow/index.markdown
Normal file
|
@ -0,0 +1,111 @@
|
|||
---
|
||||
title: Flow
|
||||
layout: default
|
||||
---
|
||||
|
||||
Capistrano v3 provides a default **deploy flow** and a **rollback flow**:
|
||||
|
||||
### Deploy flow
|
||||
|
||||
When you run `cap production deploy`, it invokes the following tasks in
|
||||
sequence:
|
||||
|
||||
```
|
||||
deploy:starting - start a deployment, make sure everything is ready
|
||||
deploy:started - started hook (for custom tasks)
|
||||
deploy:updating - update server(s) with a new release
|
||||
deploy:updated - updated hook
|
||||
deploy:publishing - publish the new release
|
||||
deploy:published - published hook
|
||||
deploy:finishing - finish the deployment, clean up everything
|
||||
deploy:finished - finished hook
|
||||
```
|
||||
|
||||
Notice there are several hook tasks e.g. `:started`, `:updated` for
|
||||
you to hook up custom tasks into the flow using `after()` and `before()`.
|
||||
|
||||
### Rollback flow
|
||||
|
||||
When you run `cap production deploy:rollback`, it invokes the following
|
||||
tasks in sequence:
|
||||
|
||||
```
|
||||
deploy:starting
|
||||
deploy:started
|
||||
deploy:reverting - revert server(s) to previous release
|
||||
deploy:reverted - reverted hook
|
||||
deploy:publishing
|
||||
deploy:published
|
||||
deploy:finishing_rollback - finish the rollback, clean up everything
|
||||
deploy:finished
|
||||
```
|
||||
|
||||
As you can see, rollback flow shares many tasks with deploy flow. But note that, rollback flow runs its own `:finishing_rollback` task because its
|
||||
cleanup process is usually different from deploy flow.
|
||||
|
||||
### Flow examples
|
||||
|
||||
Assume you require the following files in `Capfile`,
|
||||
|
||||
```
|
||||
# Capfile
|
||||
require 'capistrano/setup'
|
||||
require 'capistrano/deploy'
|
||||
require 'capistrano/bundler'
|
||||
require 'capistrano/rails/migrations'
|
||||
require 'capistrano/rails/assets'
|
||||
```
|
||||
|
||||
When you run `cap production deploy`, it runs this following tasks:
|
||||
|
||||
```
|
||||
deploy
|
||||
deploy:starting
|
||||
[before]
|
||||
deploy:ensure_stage
|
||||
deploy:check
|
||||
deploy:started
|
||||
deploy:updating
|
||||
git:create_release
|
||||
deploy:symlink:shared
|
||||
deploy:updated
|
||||
[before]
|
||||
deploy:bundle
|
||||
[after]
|
||||
deploy:migrate
|
||||
deploy:compile_assets
|
||||
deploy:cleanup_assets
|
||||
deploy:normalise_assets
|
||||
deploy:publishing
|
||||
deploy:symlink:release
|
||||
deploy:restart
|
||||
deploy:published
|
||||
deploy:finishing
|
||||
deploy:cleanup
|
||||
deploy:finished
|
||||
deploy:log_revision
|
||||
```
|
||||
|
||||
For `cap production deploy:rollback`, it runs these tasks:
|
||||
|
||||
```
|
||||
deploy
|
||||
deploy:starting
|
||||
[before]
|
||||
deploy:ensure_stage
|
||||
deploy:check
|
||||
deploy:started
|
||||
deploy:reverting
|
||||
deploy:revert_release
|
||||
deploy:reverted
|
||||
[after]
|
||||
deploy:rollback_assets
|
||||
deploy:publishing
|
||||
deploy:symlink:release
|
||||
deploy:restart
|
||||
deploy:published
|
||||
deploy:finishing_rollback
|
||||
deploy:cleanup_rollback
|
||||
deploy:finished
|
||||
deploy:log_revision
|
||||
```
|
Loading…
Reference in a new issue