peer-base / peer-pad

📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.
https://peerpad.net
MIT License
678 stars 56 forks source link

Use our own CI/CD pipeline #287

Closed parkan closed 5 years ago

parkan commented 5 years ago

The main Jenkins cluster has been intermittently (but often) failing the pin/publish stage, blocking us from deploying an up-to-date dev.peerpad.net and pinner. This is unlikely to be fixed soon.

We could set up our own CI/CD pipeline to handle these deployments. The current flow is described in DEPLOY.md (this seems to be mostly up to date, except that master updates dev.peerpad.net and production is the one that drives the main site).

We can either:

NOTE: I currently don't know how the pinner is deployed (@victorb ?). I'm also not sure if we need to run any other supporting infra (signaling/relay servers), they seem reasonably well-covered by infra

this would fix #240

jimpick commented 5 years ago

I believe the pinner is deployed via Travis:

https://github.com/peer-base/peer-base/blob/master/.travis.yml

parkan commented 5 years ago

ahh I literally looked at that file but didn't think the pinner was in there because... it's not a pinner-specific repo?

jimpick commented 5 years ago

It would be a good time to think about splitting it out into a separate repo, especially if we want to add non-generic features to it for our specific deployment.

parkan commented 5 years ago

given our inclination towards small repos I'd agree with splitting it out, regardless of whether it's generic or not

pgte commented 5 years ago

@jimpick we could create peer-pad-pinner, which is just a including the peer-base pinner. This would be good to just decouple the releases of the pinner and the app itself.

jimpick commented 5 years ago

PR #294 moved the deploy to CircleCI.