pom.xml - Project Object Model, defines project configuration and dependencies
Dependencies - External libraries and frameworks required by the project
Repository - Location where dependencies are stored (local ~/.m2, Maven Central, custom)
Artifact - Packaged output (JAR/WAR) with groupId, artifactId, version
Lifecycle Phases - Ordered build stages (clean, compile, test, package, install, deploy)
Plugin - Extends Maven functionality for specific tasks
mvn clean - Remove target directory and build artifacts
mvn compile - Compile source code
mvn test - Run unit tests
mvn package - Create JAR/WAR file
mvn install - Install artifact to local repository
mvn clean install - Full build and install to local repo
mvn clean package - Clean build and create artifact
Jenkinsfile - Pipeline as code, defines build/deploy steps
CI/CD Pipeline - Automated workflow for build, test, and deployment
Jenkins Controller - Master server that manages and schedules jobs
Jenkins Agent/Node - Worker machine that executes pipeline jobs
Plugins - Extensions that add functionality (Git, Docker, Kubernetes, etc.)
Job/Project - Individual task or build configuration
Build Triggers - Events that start a pipeline (Git push, schedule, manual)
Typical CI/CD Pipeline Stages:
Source Control - Pull code from Git
Build - Maven compile and package
Test - Run unit and integration tests
Docker Image - Build and push to registry
K8s Deployment - Deploy to cluster
Monitoring - Track application health
Dockerfile - Blueprint/instructions to build an image
Image - Read-only template with application and dependencies
Container - Running instance of an image
Volume - Persistent data storage for containers
Network - Communication between containers
Container Registries - Store and distribute images (Docker Hub, ECR, GCR, ACR)
docker pull - Pull an image from registry
docker images - List images
docker build - Build image from Dockerfile
docker run - Create and start a container
docker ps - List running containers
docker start - Start a stopped container
docker stop - Stop a running container
docker rm - Remove a container
docker exec - Execute command in running container
docker logs - View container logs
docker rmi - Remove an image
YAML files (Deployment, StatefulSet, DaemonSet, Service, Namespace, ConfigMap, Ingress)
Control Plane - Master components managing the cluster (API Server, Scheduler, Controller Manager)
etcd - Distributed key-value store for cluster state
Kubelet - Agent running on each node, manages pods
Pods - Smallest deployable unit, contains one or more containers
kubectl apply - Apply configuration from YAML files
kubectl create - Create resources
kubectl get - List resources
kubectl describe - Get detailed info about resources
kubectl logs - View pod logs
kubectl exec - Execute commands in pods
kubectl scale - Scale deployments
kubectl port-forward - Forward ports for local access
kubectl delete - Delete resources