title: Understanding Gitlab CI tags
body: <p>I've read documentation, some articles and you might call me dumb, but this is my first time working with a concept like this.</p>
  
  <ul>
  <li>I've registered runner with tag "testing"</li>
  <li>created tag "testing" in gitlab</li>
  <li>binded this runner, with  particular project </li>
  <li>I've also added the same tag e.g. "testing"in my local repo. </li>
  </ul>
  
  <p><strong>BUT how exactly is running my jobs dependent on those tags? Are all these operations necessary?</strong> If I push new code to repo, *.yml file is executed anyway as far as I tested.</p>
  
  <p><strong>So what if I want to run build only when I define a version in a commit?</strong></p>
  
  <p>IDK...</p>
  
  <pre><code>   git commit --tags "v. 2.0" -m "this is version 2.0" (probably not right)
  </code></pre>
  
  <p>But of course it should be universal, so I don't have to always tell, which tag to use to trigger the runner, but for example let him recognize numeric values.</p>
  
  <p><strong>As you can see, I'm fairly confused... If you could elaborate how exactly tags work, so I would be able to understand the concept, I would be really grateful.</strong></p>