4 ms·
Someone pushed code to master or some other specified pre-master branch. Jenkins pulls down, builds, runs tests, uploads artifacts to S3. That doesn't sound unr
by _asummers 11y ago
Someone pushed code to master or some other specified pre-master branch. Jenkins pulls down, builds, runs tests, uploads artifacts to S3. That doesn't sound unrealistic or risky on the surface, modulo relying on both GH and S3 being up.
Arguably you should be able to mirror on both an internal git repository somewhere, but GitHub is down infrequently enough that it's hard to justify that work + continuing costs if you don't have your own hardware + security patching + other admin costs to managers until you see multiple outages in a small enough window.
- bryanlarsen 11y agoThat sounds exactly like our deployment strategy, and I can push to production when GitHub is down. What's preventing you from copying & pasting the build script from Jenkins into a terminal in a local checkout? S3 being down would be a show stopper, but GH being down is just really annoying.
- _asummers 11y agoWhat about the code it has to build? Where does that come from? What about third party libraries it has to pull in? If the only thing the build server needed to build your code was the build script, this would be easy.
- bryanlarsen 11y agoThe code is building is coming from the local checkout. As for third party libraries, npm used to be so unreliable that we needed a strategy for that.
- _asummers 11y agoCheckout from where? I'm not being dense, but new code has to come from SOMEWHERE. If GH (or wherever your code is hosted) is down, the checkout won't be able to happen. Development isn't generally done on the build box.
- bryanlarsen 11y agoI've got about 3 different checkouts of my code on my laptop right now, and each of my coworkers has at least one...
- _asummers 11y agoAgain, how does that get to the build box? I also have several local copies of my code on my computer, but that doesn't help the Jenkins machine get it unless I scp (or whatever) it over.
- zymhan 11y agoYou can copy whatever files you want with SCP or SFTP or any number of file transfer protocols.
- vacri 11y agoDevelopers don't always have access rights to the build systems or artifact repositories. Most of the devs I work with don't - not because I'm not willing to share, but because they're supremely uninterested in the deployment systems. If there's an outage, the people who can fix it aren't always available right then and there.