Bird
Raised Fist0
Gitdevops~5 mins

Deployment triggers from tags in Git - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a deployment trigger from tags in Git?
It is a way to start a deployment process automatically when a specific Git tag is created or pushed. Tags mark important points like releases.
Click to reveal answer
beginner
How do you create a lightweight tag in Git?
Use the command git tag tag_name. This creates a simple tag pointing to the current commit.
Click to reveal answer
intermediate
What is the difference between a lightweight tag and an annotated tag?
A lightweight tag is just a name for a commit. An annotated tag stores extra info like the tagger's name, date, and a message.
Click to reveal answer
intermediate
How can a CI/CD pipeline detect a new tag to trigger deployment?
The pipeline listens for Git events and checks if the push includes a tag. If yes, it runs deployment steps automatically.
Click to reveal answer
beginner
Why use tags to trigger deployments instead of branches?
Tags mark stable points like releases, so deploying from tags ensures you deploy tested versions, not ongoing work.
Click to reveal answer
Which Git command creates an annotated tag?
Agit tag -a v1.0 -m "Release 1.0"
Bgit tag v1.0
Cgit commit -m "Tag v1.0"
Dgit push origin v1.0
What event should a CI/CD system watch to trigger deployment from tags?
APull request creation
BBranch merge event
CPush event including a tag
DFile change in README
Why are tags preferred for deployment triggers over branches?
ABranches are deleted after use
BTags mark stable release points
CTags are faster to create
DBranches cannot trigger pipelines
Which command pushes tags to the remote repository?
Agit push origin --tags
Bgit push origin main
Cgit tag push
Dgit commit --tags
What is a common use of annotated tags in deployment?
ATo merge code automatically
BTo speed up commits
CTo delete branches
DTo store release notes and author info
Explain how deployment triggers from tags work in a Git-based CI/CD pipeline.
Think about what happens when you push a tag and how the pipeline reacts.
You got /4 concepts.
    Describe the difference between lightweight and annotated tags and why annotated tags are useful for deployments.
    Consider what extra info annotated tags provide.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using tags in Git for deployment triggers?
      easy
      A. To merge multiple branches into one
      B. To delete old branches automatically
      C. To create new branches for development
      D. To mark specific versions of code for deployment

      Solution

      1. Step 1: Understand what tags represent in Git

        Tags are labels that mark specific points in Git history, usually used for releases or versions.
      2. Step 2: Connect tags to deployment triggers

        Deployment systems listen for tag pushes to know when to deploy a specific version of the code.
      3. Final Answer:

        To mark specific versions of code for deployment -> Option D
      4. Quick Check:

        Tags mark versions = C [OK]
      Hint: Tags label versions for deployment triggers [OK]
      Common Mistakes:
      • Confusing tags with branches
      • Thinking tags delete branches
      • Assuming tags create new branches
      2. Which Git command correctly creates a tag named v1.0 and pushes it to the remote repository?
      easy
      A. git create tag v1.0 && git push tags
      B. git push tag v1.0
      C. git tag v1.0 && git push origin v1.0
      D. git tag create v1.0 && git push origin tags

      Solution

      1. Step 1: Identify the correct command to create a tag

        The command git tag v1.0 creates a tag named v1.0 locally.
      2. Step 2: Identify how to push the tag to remote

        git push origin v1.0 pushes the specific tag to the remote repository.
      3. Final Answer:

        git tag v1.0 && git push origin v1.0 -> Option C
      4. Quick Check:

        Create tag + push tag = A [OK]
      Hint: Use 'git tag' then 'git push origin tagname' [OK]
      Common Mistakes:
      • Using 'git push tag' which is invalid
      • Trying 'git create tag' which is not a Git command
      • Pushing 'tags' instead of specific tag name
      3. Given this GitHub Actions snippet, what triggers the deployment workflow?
      on:
        push:
          tags:
            - 'release-*'
      medium
      A. Any push of tags starting with 'release-'
      B. Any push to branches named 'release-*'
      C. Any push to any branch
      D. Any push of tags named exactly 'release-*'

      Solution

      1. Step 1: Understand the trigger syntax

        The on.push.tags with pattern 'release-*' listens for tag pushes starting with 'release-'.
      2. Step 2: Differentiate tags from branches

        This does not trigger on branches, only on tags matching the pattern.
      3. Final Answer:

        Any push of tags starting with 'release-' -> Option A
      4. Quick Check:

        Push tags matching pattern = A [OK]
      Hint: Tags trigger with 'push.tags' and pattern [OK]
      Common Mistakes:
      • Confusing tags with branches in triggers
      • Thinking exact tag name match is required
      • Assuming all pushes trigger workflow
      4. You set this in your GitHub Actions workflow:
      on:
        push:
          tags:
            - 'v*'

      But pushing tag release1 does NOT trigger the workflow. Why?
      medium
      A. The tag name does not match the pattern 'v*'
      B. Tags cannot trigger workflows in GitHub Actions
      C. The workflow file is missing from the repository
      D. The push event only triggers on branches, not tags

      Solution

      1. Step 1: Analyze the tag pattern

        The pattern 'v*' matches tags starting exactly with 'v', like 'v1.0', but 'release1' starts with 'release', so it does not match.
      2. Step 2: Confirm tag triggers work

        GitHub Actions supports tag push triggers, so the problem is pattern mismatch.
      3. Final Answer:

        The tag name does not match the pattern 'v*' -> Option A
      4. Quick Check:

        Pattern mismatch blocks trigger = B [OK]
      Hint: Check tag name matches trigger pattern exactly [OK]
      Common Mistakes:
      • Assuming any tag triggers workflow
      • Thinking tags can't trigger workflows
      • Ignoring pattern matching rules
      5. You want to deploy only when a tag matching deploy-* is pushed. Which GitHub Actions trigger configuration is correct?
      hard
      A. on: push: tags: - 'release-*'
      B. on: push: tags: - 'deploy-*'
      C. on: tag_push: pattern: 'deploy-*'
      D. on: push: branches: - 'deploy-*'

      Solution

      1. Step 1: Identify correct event for tag push

        The push event with tags key listens for tag pushes matching patterns.
      2. Step 2: Match the pattern to desired tags

        The pattern 'deploy-*' matches tags starting with 'deploy-', exactly what is needed.
      3. Step 3: Eliminate incorrect options

        on: push: branches: - 'deploy-*' listens to branches, not tags. on: tag_push: pattern: 'deploy-*' uses invalid syntax. on: push: tags: - 'release-*' matches wrong tag pattern.
      4. Final Answer:

        on: push: tags: - 'deploy-*' -> Option B
      5. Quick Check:

        Push tags with correct pattern = D [OK]
      Hint: Use 'push.tags' with correct pattern for deployment triggers [OK]
      Common Mistakes:
      • Using branches instead of tags for deployment triggers
      • Using invalid event names like 'tag_push'
      • Mismatching tag patterns
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard