DEV Community

Debugging Travis CI is very hard.

Meghan (she/her) on July 16, 2019

I had the "simple" goal of setting up automatic builds for my Go project. And it's been a nightmare. https://github.com/nektro/andesite https://t...
Collapse
 
foresthoffman profile image
Forest Hoffman

I feel your pain. I took the time to migrate a Travis CI configuration over to Buildkite. It was infinitely better! You have to host the CI server yourself, but you can control the resources and environment.

Collapse
 
molly profile image
Molly Struve (she/her)

Any advice or gotchas to look out for when making the switch. I am thinking about taking the leap as Travis is just not featured enough for all the things we want to do.

Collapse
 
foresthoffman profile image
Forest Hoffman

It was over a year ago when I made that migration, and have since switched companies, but I don't recall anything that was glaringly difficult. I found the Buildkite documentation to be very well written. I found the Buildkite configuration to be drastically different, in that it allows for a more modular configuration compared to the Travis CI configuration. I was working on a Docker based project, so I found it very convenient that I could run my integration tests concurrently. Since Buildkite is self-hosted, I was able to ensure that my pipelines were always running consistently and fast.

That said, I do remember having to take some extra steps to ensure that my environment secrets were secure. Buildkite has a few methods, but I used agent hooks to achieve what I needed: buildkite.com/docs/pipelines/secre...

Best of luck! I hope it works for your use case! :)

Thread Thread
 
molly profile image
Molly Struve (she/her)

Thanks for the insight!

At first glance, the BuildKite docs do look very well written which is always encouraging and from searching around, it seems like it might be a little more work to set up but a lot of people really like it.

Collapse
 
ferricoxide profile image
Thomas H Jones II • Edited

Debugging with a lot of frameworks isn't stellar. Often, you need to figure out "how do I force things to be meaningfully verbose". Downside to that being that, in doing so, you can end up not using the tool the way it's meant to be used.

#Catch22

Collapse
 
kyleparisi profile image
Kyle Parisi

Indeed it is. My advice would be very cautious cache in your builds unless you absolutely need the time increase. Other things I've done is setup my own VM and run the commands which I'm in control of one by one. Lastly, sometimes I've seen travis-ci fail on dependencies at which point I just wait a day and try again. Patience is key if you are using their free tier.

Collapse
 
arswaw profile image
Arswaw

Docker is good.

Collapse
 
andy profile image
Andy Zhao (he/him)

@maestromac , do you have similar feelings? πŸ˜