Skip to content
tezvyn:

Automation

146 bites tagged Automation — interview questions with model answers, and 60-second explainers.

CI/CD & Automation2 min read

Self-Hosted Runners: Bring Your Own CI/CD Hardware

A self-hosted runner is your own machine executing CI/CD jobs, giving you full control over its environment and network. Use it for private network access or custom hardware. The footgun: you are now responsible for all security, updates, and maintenance.

CI/CD & Automation2 min read

GitHub Composite Actions: Script Your CI Steps

A composite action is a reusable script for your CI workflow, bundling multiple steps into one. It's perfect for DRYing up common sequences like setup and testing, but remember you cannot nest composite actions within each other.

CI/CD & Automation2 min read

Jenkins Shared Libraries: Don't Repeat Your Pipeline Code

Jenkins Shared Libraries let you centralize and reuse Pipeline code, just like a common function library. Use them to define standard build or deployment stages across many projects.

CI/CD & Automation2 min read

Secrets Management in CI/CD Pipelines

Treat secrets like temporary keys, not permanent passwords. Your CI/CD pipeline should fetch them just-in-time from a central vault, never storing them in code. The biggest footgun is storing secrets as long-lived environment variables in the CI tool itself.

CI/CD & Automation2 min read

Conditional Pipeline Execution: Run Jobs Only When Needed

Think of conditional execution as `if` statements for your CI/CD pipeline, letting you run or skip jobs based on specific triggers. Use it to run tests on merge requests or deploy only from `main`.

CI/CD & Automation2 min read

CI/CD Pipelines: How Stages and Jobs Orchestrate Work

Think of a CI/CD pipeline as an assembly line. Stages are sequential stations (Build, Test, Deploy), while jobs are the parallel tasks at each station. This model automates software delivery. The footgun: a single failed job halts the entire line by default.

CI/CD & Automation2 min read

Pipeline Triggers: The 'If This, Then That' of CI/CD

Pipeline triggers are the "if this, then that" for automation. They kick off builds on a code push (CI), run tests for a pull request (PR), or execute jobs on a schedule. The footgun: many systems enable triggers on all branches by default, causing unwanted.

CI/CD & Automation2 min read

Jenkinsfile: Your CI/CD Pipeline as Code

A Jenkinsfile is a text file that defines your entire CI/CD pipeline as code, living in your source control. It automates build, test, and deploy steps. The main footgun is confusing its two syntaxes: Declarative is simpler, while Scripted offers more power.

CI/CD & Automation2 min read

Test Data Management (TDM): Stop Flaky Tests

Test Data Management (TDM) treats test data like code: versioned, managed, and reliably provisioned to ensure consistent, meaningful tests. This is crucial in CI/CD pipelines where automated tests require repeatable data states.

CI/CD & Automation2 min read

Mutation Testing: A Fire Drill for Your Test Suite

Mutation testing is a fire drill for your test suite. It deliberately injects small bugs ('mutants') into your code to see if your tests fail as expected. This ensures tests validate behavior, not just execute lines.

CI/CD & Automation2 min read

Regression Testing: Don't Break What's Already Working

Regression testing asks: 'Did my new code break old features?' It's re-running existing tests after a change to catch unintended side effects. It's crucial in CI/CD pipelines before deploying. The footgun is a slow suite that developers skip.

CI/CD & Automation2 min read

Quality Gates: Your Automated Code Quality Checklist

A quality gate is an automated checklist that asks, 'Is this code ready to release?' It runs in CI/CD to enforce standards on metrics like bugs and test coverage, blocking merges that fail. The footgun is using one gate for all projects; tailor rules to.

CI/CD & Automation2 min read

Smoke Testing: Is This Build Even Worth Testing?

Smoke testing asks: 'Is this build so broken it's not even worth testing?' It's a quick, shallow check of critical functions, run on every new build before more exhaustive QA. The footgun is thinking a passed smoke test means the build is bug-free.

CI/CD & Automation2 min read

Integration Testing: Do Your Components Play Well Together?

Integration testing verifies that different software modules, like an API and a database, work correctly together. It's used to catch bugs in the interactions between components, such as data format mismatches. The footgun is writing slow, brittle tests.

CI/CD & Automation2 min read

Build Matrix: Test All The Combinations

A build matrix automatically creates multiple jobs by combining different configurations. Use it to test your code across various operating systems, language versions, or dependencies without duplicating your workflow file.

CI/CD & Automation2 min read

Code Coverage: What Your Tests Don't Tell You

Code coverage measures which lines of code your tests execute, not how well they're tested. It's used in CI to enforce a testing baseline, but the footgun is mistaking high coverage for high quality—100% coverage can exist with zero useful assertions.

CI/CD & Automation1 min read

Gradle: Code-Based Builds, Not XML

Gradle treats your build process like code, not configuration, using a flexible Groovy or Kotlin DSL instead of rigid XML. It's used for compiling and packaging multi-language projects.

CI/CD & Automation2 min read

Static Analysis: Read Code, Don't Run It

Static analysis is like a spell checker for your code, catching errors before you run the program. It powers linters and security scanners in CI pipelines to find bugs and vulnerabilities. The footgun: it can't understand intent, leading to false positives.

CI/CD & Automation2 min read

Make: The Original Task Runner

Make automates tasks by following a recipe in a `makefile`. It intelligently runs only the necessary steps by checking dependencies, saving time during builds. While common for compiling code, it can run any shell command.

CI/CD & Automation2 min read

Idempotency: Safe to Retry Automation

Idempotent automation ensures an operation has the same effect whether run once or many times. This is vital for safely retrying failed CI/CD jobs or configuration scripts. The footgun: thinking it means 'no side effects'.

CI/CD & Automation2 min read

Immutable Infrastructure: Treat Servers Like Cattle, Not Pets

Immutable infrastructure means you never modify running servers. To deploy, you replace them with new ones built from a golden image. This is key for CI/CD and autoscaling, ensuring consistency. The footgun is configuration drift from manual, one-off fixes.

CI/CD & Automation2 min read

Pipeline as Code: Versioning Your Build Process

Treat your CI/CD pipeline not as clicks in a UI, but as a version-controlled file (`Jenkinsfile`) living with your code. This enables automated, reviewable build processes for every branch. The footgun is defining pipelines in the UI, creating a black box.

CI/CD & Automation2 min read

Infrastructure as Code: Manage Servers with Code, Not Clicks

Infrastructure as Code (IaC) treats servers and networks like software: defined in files and versioned in Git. It's used to automate cloud resource provisioning on AWS or GCP, ensuring consistent, repeatable environments.

CI/CD & Automation2 min read

Automated Testing: Catch Bugs Before They Ship

Automated testing is like a robot QA engineer checking every code change instantly. It's the engine of CI/CD pipelines, running tests on every commit to give developers immediate feedback on business risks.

Get Automation bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.