Comments (6)
Glad to see you are using the gem, and thanks for the input.
The unfortunate problem with tags is that deleting them once they have been pushed can be a very hard thing to do, and impossible without cooperation from other people. Imagine the following scenario:
- I push a tag (e.g. via deploying)
- You pull the repo and get a new tag
- I delete the tag
- You push your tags
You might expect that the result would be that git would ignore the old tag that had been deleted. But what will happen is that your push will actually re-create the tag I have deleted.
If you are a single user of the repo, this could work. If you are working as a team, you can't guarantee the tag will be deleted. Is it still valuable?
EDIT: It might be possible to wait to push the tags until the very last thing, which would prevent pushing until a rollback has completed.
from capistrano-deploytags.
I can totally see your point, and you're correct.
My problem with having the tag in a commit which I have successfully deployed and later rolled back is that it might confuse people reading the git log. You have a tag for a deploy, yet there's no deploy on the server with that commit.
from capistrano-deploytags.
Looking at the Capistrano source, it might be possible to implement this using an on_rollback
call inside the setup task to prevent tagging in the event of a rollback (rather than trying to delete the tag after the fact). I'll look into it. Here's the method in the Capistrano source that I'm referring to.
from capistrano-deploytags.
Yeah, having that when tagging would also be nice. However, I was referring to when you run "cap deploy:rollback". In that scenario, yes, you need the whole team's collaboration, as you've pointed out.
from capistrano-deploytags.
I'm going to close this issue, then as I think this is a team workflow issue more than a plugin issue. Thanks for contributing.
from capistrano-deploytags.
Indeed, the removing the tag part does seem like a workflow issue to me. The only idea I can come up with is to tag the revision again as having been rolled back. Closing the issue seems like the right thing to do.
Having the tag deleted on on_rollback
still seems like a good investment, even though it wasn't what I'm looking for.
from capistrano-deploytags.
Related Issues (18)
- latest tag isn't updated if version hasn't changed HOT 1
- Documentation : Deploytags requires that :branch and :stage be defined HOT 8
- Tags with initial branch setting instead of actual branch deployed HOT 2
- hardcoded assumption that 'origin' remote exists HOT 4
- Don't retag redeploys HOT 2
- Make timestamps UTC to better facilitate remote teams HOT 1
- Capistrano 3 Support HOT 4
- LoadError ... deploy_tags.rb.orig HOT 1
- Get rid of the -latest tag HOT 3
- Version 1 missing from RubyGems.org HOT 4
- Pushing deployment tag fails when other unrelated tags already exist on remote HOT 2
- Does not respect the -n (--dry-run) flag HOT 2
- Small inconsistency HOT 1
- Release version with fix for deploytag_commit_message variable HOT 1
- hello! i have a similar gem HOT 2
- Running cap production deploy:migrations does not tag HOT 3
- Can no longer deploy a specific revision HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capistrano-deploytags.