Deployment Fails to Fetch Build

Attempting to build do a deployment results in the following error.

Build push error: tus: failed to create upload, caused by Error: connect ETIMEDOUT
XXX.XXX.XXX.XXX:443, originated from request (method: POST, url:
XXXX.woodge.co.uk/otto/uploads/files, response code: n/a, response text: n/a, request id: n/a)

Seems to do it every time. Previous deployments, as recent as last week, worked correctly. Any suggestions as to why the fetch would now fail?

Hi Gabe,

What version of OttoFMS were you using when it was working? We did change the default to PUSH a build to a server instead of PULL it in version 4.8. The error shows that the PUSH is failing, which it would if the build server can’t reach the other server.

You could flip it back to a PULL see here

See if that solves the issue

Thanks

Todd

Hi Todd, yes I think it would have last worked on a version OttoFMS before 4.8 I’m not exactly sure which version.

Disabling the “Push build to destination” and now the deployment now works.

So the target server can pull from the build from the source server, but the source server isn’t able to push to the destination server.

Would it cause any problems down the line if I leave push disabled? Just wondering if I can leave it off, or if it’s worth spending time to figure why it’s not working.

Hi Gabe

There are plenty of good and legitimate reasons for one server to not be able to connect to the other. For example you might have a customer Prod server behind a firewall, and Dev server on your network. In that case you have to use PULL as the Dev Server will not be able to reach the Prod server unless it had VPN access. You can’t use PUSH in that case.

On other cases you might have exactly the opposite issue and you would need to use a PUSH.

PUSH can be faster, especially if the Build server is a windows server using IIS. And that is why it is now the default.

But if you think your two servers should be able to connect in both directions you could investigate. We have an API that can help by testing if Server A can reach Server B. That way you don’t have to run builds and deployments to check it.

https://docs.ottofms.com/apidoc#tag/Miscellaneous/operation/GetOttoApiCanReachOtherServer

Hope that helps

Todd

Thanks Todd, that’s useful to know.