Best practices for triggering release/deployment

We currently use Jenkins. We kick off a Jenkins job and it:

  1. Tags the code in GitHub (e.g. 4.0.0)
  2. Sets the Maven version of the artifacts to match the version in the tag (e.g. 4.0.0).
  3. Build and deploys artifacts.
  4. Increments the Maven version in the POM files (e.g. 4.0.1)

Note that we trigger this process manual by starting a job.

I just started with Circle CI and I get the impression it would be done differently. What is the best practice in the Circle CI world to accomplish this?

I’m guess it start with me push a tag to a GitHub branch, Circle CI detecting the push and running a job.