The step after Activate New Release is Purge Old Releases. Are you sure there are old releases to purge? If so, then the server must be breaking the connection. Maybe directory permissions are causing the issue. To my knowledge, Envoyer only tries to connect initially for the deploy process. I don't think it makes or attempts to make a persistent connection.
@ejdelmonico I've since added another step after Activate new release and it's now breaking on that step so I think the issue is with activate new release.
I can't think of why it would do this.
Activate new release does work successfully and my application does get updated. But without completing the next steps It's causing my queue workers to break.
Are there any logs which would provide more information?
After more testing, I always get disconnected on the 8th step no matter what commands they are. I wonder why. Adding or removing steps will always result in the 8th step breaking.
Looking at /var/log/auth.log I can see that envoyer reconnects for every hook.
Accepted publickey for envoyer from 159.203.66.107 port 50177 ssh2: RSA
...
Received disconnect from 159.203.66.107 port 50177:11: disconnected by user
Disconnected from 159.203.66.107 port 50177
pam_unix(sshd:session): session closed for user envoyer
Removed session 5996.
Either my server is blocking the 8th connection or something is wrong with envoyer. I don't see any evidence from the log that it fails to connect.
I am going to try reducing number of hooks by running many commands within a hook.
@komirad I would make an issue on github that provides the data to duplicate. All of my Envoyer deploys use 7 steps. I tried adding an 8th one and it worked on my dev server.
do you have any instructions on how to do this? I am having the same problem as rate limiting is set at 6 per 30 seconds but no idea how to either change it to a higher number or add envoyer as an exception