It really depends on the project and what you are doing. For instance if you are deploying a static site. You could just deploy it to GitHub pages.
You could also have a process like.
- I create a new branch locally
- I write some code and tests
- I push my code to GitHub
- a Travis CI intergration runs my test and makes sure everything works according to tests
- I create a pull request to the master branch
- The pull request gets merged
- travis runs the tests again, but this time since it is the master branch it also deploys to something, Heroku, Netlify, Zeit, GitHub Pages, etc, or even all of the above
It all depends on how things are set up.
For instance I have my own eslint config I published on npm. The way it is currently set up is like what I just described, only it publishs the npm package so I can
npm install eslint eslint-config-jnmorse in my projects. Did I need my own linting setup… eh maybe not, but I like it.
Connected to my config I wrote this and is also published on NPM but I haven’t set up the autodeploy yet. eslint-rule-finder. I partly wrote this just to see if I could, there was another one that Airbnb uses.