Releasing with github, travis and unpkg.
- dynamic files
main.jscontains the code
README.mdcontains documentation (may be autogenerated from code later on)
package.jsoncontains the version number, and meta information (may be autogenerated from the code later on)
- project-specific files
icon.png- icon for the project
.travis.yml- build recipe, need to run
travis setup npm(and
gem install travisbefore that) to update it for new projects.
CNAME- set the domain for your website
config.xmlfor cordova deployment, not in this project)
Dockerfilefor automatic building of image / server deployment, not in this project)
- generic files
index.html- webpage for project that render README.md (or an app-entry loading main.js if it was an app instead of a library)
dev.sh- web server + live reload for use during development
.gitignoreignore temporary files
When I bump the version number and commit to github, the following happens:
- GitHub makes the new version of the source code available on https://github.com/solsort/reun/.
- GitHub Pages updates the website on https://solsort.github.io/reun/.
- CloudFlare handles DNS, SSL, CDN, makes it available on https://reun.solsort.com/.
- Travis runs the tests, deploys the package to npmjs if successful. It shows the result on https://travis-ci.org/solsort/reun/.
- NPM now hosts a package of the latest version on https://www.npmjs.com/package/reun/.
- UNPKG now serves the package through the CDN on https://unpkg.com/reun/.
- (Docker Hub could automatically build and deploy an image to run on a server, and call a hook to reload the image)
- (PhoneGap Build could build the new version of the app to deploy on mobile phones).
This infrastructure is free for opensouce projects, and makes it trival/automatic to release new versions.