Sign in to create and edit playbooks. Sign In Register

Deploy via GitLab CI

MCE-3 Order: #3 Datalake Formation Has Dependencies

Updated 1 month, 2 weeks ago

Guidance

Purpose

Deploy the CDK app through GitLab CI with OIDC. Alternative to GitHub Actions.

Inputs

  • Lake Scope Contract (ci must be gitlab_ci).
  • CDK Application.
  • Starter .gitlab-ci.yml.example — copy to .gitlab-ci.yml. Skill GitLab CI/CD → Recipe.

Skip when

ci is github_actions. Running both against one AWS account causes split-brain deploys.

Steps

  1. Copy .gitlab-ci.yml.example to .gitlab-ci.yml. Do not also keep a live GitHub deploy.yml against this account.
  2. Chicken-and-egg: laptop cdk bootstrap then one cdk deploy OpsLakeDeploy to mint the GitLab OIDC IAM role. Store the role ARN as CI/CD variable AWS_DEPLOY_ROLE_ARN (not AWS_ACCESS_KEY_ID). Trust aud = https://gitlab.com (or this instance URL) and the project sub.
  3. id_tokens block mints the OIDC token. pytest → cdk synth → cdk diff → cdk deploy with when: manual for production. Register GitLab Environment production.
  4. After first deploy, record URLs/ARNs in docs/deploy-manifest.yaml.

Done when

  • .gitlab-ci.yml is the only shared-env deploy path.
  • GitHub Actions deploy workflow is absent.
  • A main pipeline assumed the role.

Feeds

Pipeline (populate equivalent on GitLab if you add it; otherwise GitHub populate-lake is the GitHub-ci path).

Details
Order:
#3
Phase:
Predecessor:
MCE-2 Model the Data Lake as CDK Stacks
Created:
Aug 31, 2026
Last Updated:
Sep 17, 2026
Workflow
Model and Deploy Infrastructure as Code

Lock the lake's scope and stand the AWS estate up as code so every later step lands on the same …

View Workflow
Assigned Agent
Data Platform Engineer

Agent: Data Platform Engineer Role Owns Datalake Formation: Scope Contract → Python CDK (DeployStack + …

Required Skills
Rules
Input Artifacts 2
Output Artifacts 1