hackoregon / devops-17

deployment tools for Hack Oregon projects
4 stars 3 forks source link

Develop the CI/CD pattern for frontend that results in an NPM package published to NPM #36

Open MikeTheCanuck opened 7 years ago

MikeTheCanuck commented 7 years ago

Latest discussion with @DavideDaniel resulted in some very clear expectations of the frontend Projects CI/CD pattern.

Most important is that each successful Travis build of a project should result in publishing a new package version to NPM. (These packages will then be consumed by the Platform Server, which will host all the server-side implementations of each project in a single Node.js server.)

This means we DevOps squad should shift our focus from the S3 deployment model we'd originally envisioned in class, to a model that runs some variation of "npm init" or "npm build" [or something - it wasn't clear to me what we need] and "npm publish" in the "after_success" stage of the Travis configuration.

Issues of namespacing each project's package haven't been nailed down yet, so let's leave ourselves flexible on package naming for now.

There is the theoretical possibility that some frontend Projects will also have static assets such as images to upload to S3 storage, but this is unlikely and shouldn't be the immediate focus of the first automation phase for frontend.