Capistrano 2.0 et documentation

Bonjour,

Je commence à réfléchir au déploiement de mon application, tout le
monde parle de Capistrano, donc j’avais l’intention de regarder son
utilisation. J’ai trouvé ce petit livret :

mais il est basé sur la version 1.2. Avant que je l’achète pensez vous
que c’est gênant par rapport aux évolutions de la version 2.

On 11/7/07, Tranquiliste [email protected] wrote:

Bonjour,

Je commence à réfléchir au déploiement de mon application, tout le
monde parle de Capistrano, donc j’avais l’intention de regarder son
utilisation. J’ai trouvé ce petit livret : I-OREILLE - Blog sur le digital
mais il est basé sur la version 1.2. Avant que je l’achète pensez vous
que c’est gênant par rapport aux évolutions de la version 2.

Il y a pas mal de changement entre la version 1.2 et la version 2. En
effet Capistrano se rapproche beaucoup plus de rake dans sa version 2.


Cyril M.

Merci, donc il ne vaut mieux pas que j’achète ce livret.
Dis moi j’ai vu que tu disais sur ton blog que Capistrano était
trèsdépendant de d’un système de versionning. Est ce à dire qu’il faut
impérativement que j’installe un produit comme SVN?

Malheureusement, les exemples de ce petit livret (superbement traduit,
hum hum hum) sont basés sur Capistrano 1.2. La théorie sur les
différents environnements et comment le développement d’une
application passe par ces différents stades, restera évidemment
valable. Ceci dit, avec ce livret et les informations (éparses il est
vrai) dispo sur http://www.capify.org/ ça devrait être déjà pas mal.

++

yk

Le 07/11/07, Tranquiliste[email protected] a écrit :

Le 07/11/07, Tranquiliste[email protected] a écrit :

Merci, donc il ne vaut mieux pas que j’achète ce livret.
Dis moi j’ai vu que tu disais sur ton blog que Capistrano était très
dépendant de d’un système de versionning.

Ce n’est plus aussi vrai depuis la version 2.0.

Est ce à dire qu’il faut
impérativement que j’installe un produit comme SVN?

Non. Mais je te le conseille fortement (ou un gestionnaire de source
équivalent).

++

yk

On 11/7/07, Tranquiliste [email protected] wrote:

Merci, donc il ne vaut mieux pas que j’achète ce livret.
Dis moi j’ai vu que tu disais sur ton blog que Capistrano était très
dépendant de d’un système de versionning. Est ce à dire qu’il faut
impérativement que j’installe un produit comme SVN?

Je pense qu’effectivement ca sera beaucoup plus simple. J’ai
personnellement essayé de faire simplement un copier d’une source sur
mon FS a travers le réseau et je n’y suis pas arrivé :frowning:

Si quelqu’un sait comment faire je suis preneur.

Il faut bien voir que Capistrano est très utile dans un environnement
de production. En tant que personnel, c’est tout de suite moins
intéressant.


Cyril M.

Le 07/11/07, Cyril M.[email protected] a écrit :

Si quelqu’un sait comment faire je suis preneur.

Je l’eût fait il y a quelques semaines. Mais le code est un peu crado
et très spécifique. Le but est de tricher en réécrivant la recette
“update_code” (il suffit de la copier du code de Capistrano) avec
quelque chose dans le style :

task :update_code, :except => { :no_release => true }, :roles => :web do
on_rollback { delete release_path, :recursive => true }

run "if [[ ! -d #{release_path} ]]; then cp -rf #{cruise_path}
#{release_path};fi "

run <<-CMD
rm -rf #{release_path}/log &&
rm -rf #{release_path}/public/system &&
ln -nfs #{shared_path}/log #{release_path}/log &&
ln -nfs #{shared_path}/system #{release_path}/public/
CMD

run <<-CMD
test -d #{shared_path}/pids &&
rm -rf #{release_path}/tmp/pids &&
ln -nfs #{shared_path}/pids #{release_path}/tmp/pids; true
CMD

update the asset timestamps so they are in sync across all servers.

This

lets the asset timestamping feature of rails work correctly

stamp = Time.now.utc.strftime(“%Y%m%d%H%M.%S”)
asset_paths = %w(images stylesheets javascripts).map { |p|
“#{release_path}/public/#{p}” }
run “TZ=UTC find #{asset_paths.join(” “)} -exec touch -t #{stamp} {}
\;; true”

uncache the list of releases, so that the next time it is called it

will

include the newly released path.

@releases = nil
end

C’est la 4ème ligne qui change tout.

Il faut bien voir que Capistrano est très utile dans un environnement
de production. En tant que personnel, c’est tout de suite moins
intéressant.

Capistrano n’a d’utilité que si tu veux déployer ton application sur
une autre machine que ta machine de dev.

++

yk