Oracle Cloud Infrastructure DevOps
This domain tests your ability to wire an OCI DevOps project end to end: code repository or external Git connection, build pipeline, artifact delivery, deployment pipeline, environment, and trigger. The exam focuses on stage order, the build and deployment specifications, and the IAM/notification plumbing around pipelines.
Core rules
An OCI DevOps project is the compartment-scoped container for repositories, build pipelines, deployment pipelines, artifacts, environments, triggers, and connections. A build pipeline is a sequence of stages: Manage Build (source repository and build-spec path), Run Build, Deliver Artifacts, Trigger Deployment, and Wait. Manage Build is the first stage and defines where the build spec lives; the build spec YAML drives commands and output artifacts. Artifacts are generic files or container images stored in OCI Artifact Registry (OCIR). A deployment pipeline contains stages such as Approval, Wait, Deploy to OKE, Deploy to instance group, and Deploy to functions; it reads a deployment spec and targets an environment. Triggers start a build pipeline on a Git push, using a connection that stores credentials for GitHub, GitLab, Bitbucket, or VBS. IAM policies such as allow group ... to manage devops-family in compartment ... govern the project; notifications use ONS topics.
Worked example
A team wants every push to main to build a container and roll it to OKE after approval. Create a DevOps project, connect the repo, and add a build pipeline: Manage Build -> Run Build (buildspec builds and tags image) -> Deliver Artifacts (container image to OCIR) -> Trigger Deployment. The deployment pipeline is Approval -> Deploy to OKE, with a deployment spec containing the Kubernetes Deployment and Service and an OKE environment. A trigger on main starts the build. Reasoning: the build pipeline cannot deploy without Trigger Deployment; the approval stage pauses execution until a human approves; the OKE stage needs both the artifact and environment.
Traps
Common traps: treating Run Build as sufficient to deploy; placing Deliver Artifacts after Trigger Deployment; pointing a deployment stage at an artifact never delivered; confusing Wait (time-based) with Approval (manual); using an OKE manifest for an instance-group deployment; and forgetting that external Git triggers need a connection and webhook.