J'aimerais mettre à jour une variable d'environnement ou quelque chose pour suivre l'heure du déploiement actuellement actif. Y a-t-il un moyen de le faire automatiquement depuis mon application sur Heroku ou dois-je le faire dans le cadre d'un script de déploiement? Idéalement, j'aimerais quelque chose qui travaillerait avec moi en utilisant Tddium pour CI et les laisser faire la poussée à Heroku pour moi lorsque la construction passe. P>
3 Réponses :
Vous pouvez utiliser Heroku's config-vars . Ce ne sont vraiment que des variables d'environnement que vous configurez via le Heroku CLI. Par exemple, vous pouvez stocker la date actuelle dans une variable d'environnement nommée deploy_timettamp. P> Vous devez alors pouvoir accéder à cette variable d'environnement de votre application ou de la ligne de commande. . La valeur est accessible avec Si vous souhaitez automatiser cela quelque peu, vous pouvez créer un alias git pour appuyer sur Heroku et mettre à jour le déployant_timettamp en même temps. Veuillez noter que vous ne pouvez pas écraser les noms de vraies commandes git comme poussez em>, mais vous pouvez ajouter une action personnalisée telle que pushstamp em>. Par exemple: p> GIT-CONFIG (1) P> H3> env ["deploy_timettamp ']] code> à partir de votre application Rails ou en analysant la sortie de
heroku config code> à partir de votre répertoire de projet local. P> < H3> Automatisez avec des alias h3>
Voir aussi h3>
Ouais c'est semblable à ce que je pensais, mais je n'ai aucun contrôle sur la commande que TDDium utilise pour pousser mon application à Heroku. Si je faisais cela à ma fin, sur la poussée à Github (qui commence le cycle CI / CD), si la version échouait, mon application afficherait le temps de déploiement incorrect.
1. Il n'y a pas de méthode automatique lors du déploiement de Heroku à moins que vous ne effectuiez un script / tâche de déploiement. (Je cherchais cela aussi en juin 2012). J'ai une tâche de râteau qui fait un déploiement, une partie de jeu définit git_tag et ma page Web (la mise en page d'application dans les rails) est imprimée sur la page.
Heres Comment j'écris à la héroku git_tag configuration var (à l'aide d'un rails Tâche Rake): P>
namespace :tddium do def cmd(c) system c end desc "post_build_hook to deploy to dfc-site-qa" task :post_build_hook do ...use code verbatim from above URL (https://www.tddium.com/support/reference#customization) ... current_tag = `git describe master --always`.strip cmd "heroku config:add GIT_TAG=#{current_tag} --app XXXX" or puts "could not set GIT_TAG to #{current_tag}" ... end
Vous pouvez trouver le dernier temps de déployer en regardant les horodatages sur les fichiers du système de fichiers Heroku en lecture seule.
Vous pouvez vérifier cela en regardant ces horodatages directement avec LS. Exemple de Heroku Run Rails C Code>: P>
irb(main):009:0> File.mtime("app")
=> 2015-05-07 02:12:57 +0000
irb(main):010:0> File.mtime("app").class
=> Time
C'est une réponse parfaitement de travail et devrait être accepté un IMHO.