- Integrations For Development Activities
- End-to-End Solutions for development and deployment of specific development frameworks or ecosystems
- System to system integration of GitLab and AWS
- GitLab infrastructure workloads deployed on AWS
Integrate with AWS
Learn how to integrate GitLab and AWS.
This content is intended for GitLab team members as well as members of the wider community.
Unless otherwise noted, all of this content applies to both GitLab.com and self-managed instances.
This page attempts to index the ways in which GitLab can integrate with AWS. It does so whether the integration is the result of configuring general functionality, was built in to AWS or GitLab or is provided as a solution.
Text Tag | Configuration / Built / Solution | Support/Maintenance |
---|---|---|
[AWS Configuration]
| Integration via Configuring Existing AWS Functionality | AWS |
[GitLab Configuration]
| Integration via Configuring Existing GitLab Functionality | GitLab |
[AWS Built]
| Built into AWS by Product Team to Address AWS Integration | AWS |
[GitLab Built]
| Built into GitLab by Product Team to Address AWS Integration | GitLab |
[AWS Solution]
| Built as Solution Example by AWS or AWS Partners | Community/Example |
[GitLab Solution]
| Built as Solution Example by GitLab or GitLab Partners | Community/Example |
[CI Solution]
| Built, at least in part, using GitLab CI and therefore more customer customizable. | Items tagged [CI Solution] will also carry one of the other tags that indicate the maintenance status. |
Integrations For Development Activities
These integrations have to do with using GitLab to build application workloads and deploy them to AWS.
SCM Integrations
AWS CodeStar Connection Integrations
8/14/2023 AWS Release Announcement for GitLab.com SaaS
12/28/2023 AWS Release Announcement for Self-Managed / Dedicated
AWS CodeStar Connections - enables SCM connections to multiple AWS Services.
Configure GitLab.
Supported Providers.
Supported AWS Services -
each one may have to make updates to support GitLab, so here is the subset that
support GitLab. This works with GitLab.com SaaS, GitLab Self-Managed and GitLab Dedicated.
AWS CodeStar connections are not available in all AWS regions - the exclusion list is
documented here.
(12/28/2023) [AWS Built]
Video Explanation of AWS CodeStar Connection Integration for AWS (1 min)
AWS Services that are supported directly by a CodeStar Connection in an AWS account:
-
AWS Service Catalog directly inherits CodeStar Connections, there is not any specific documentation about GitLab because it just uses any GitLab CodeStar Connection that has been created in the account. (12/28/2023)
[AWS Built]
-
AWS Proton directly inherits CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. (12/28/2023)
[AWS Built]
-
AWS CodeBuild - for GitLab.com, self-managed and dedicated - click documentation tabs here. (03/26/2024)
[AWS Built]
Documentation and References:
- Creating a GitLab CodeStar Connection to a GitLab.com Project
- Creating a AWS CodeStar Connection for a Self-Managed GitLab Instance or GitLab Dedicated Instance (must allow Internet Ingress from AWS or use a VPC connection)
AWS CodePipeline Integrations
AWS CodePipeline Integration - by using GitLab as CodeStar Connections source for CodePipeline, additional AWS service integrations are available. (12/28/2023) [AWS Built]
AWS Services that are supported by an AWS CodePipeline integration:
-
Amazon SageMaker MLOps Projects are created via CodePipeline (as noted here), there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. (12/28/2023)
[AWS Built]
Documentation and References:
- Creating a GitLab CodePipeline Integration to a GitLab.com Project
- Creating a AWS CodePipeline Integration for a Self-Managed GitLab Instance or GitLab Dedicated Instance (must allow Internet Ingress from AWS or use a VPC connection)
CodeStar Connections enabled AWS services that are not yet supported for GitLab
-
AWS CloudFormation publishing of public extensions - not yet supported.
[AWS Built]
-
Amazon CodeGuru Reviewer Repositories - not yet supported.
[AWS Built]
-
AWS App Runner - not yet supported.
[AWS Built]
Custom GitLab Integration in AWS Services
-
Amazon SageMaker Notebooks allow Git repositories to be specified by the Git clone URL and configuration of a secret - so GitLab is configurable. (12/28/2023)
[AWS Configuration]
-
AWS Amplify - uses a Git integration mechanism designed by the AWS Amplify team.
[AWS Built]
-
AWS Glue Notebook Jobs support for GitLab repository URL with personal access token (PAT) authentication at the “job” level. (10/03/2022) AWS Docs about configuring GitLab
[AWS Configuration]
Other SCM Integration Options
-
GitLab Push Mirroring to CodeCommit Workaround enables GitLab repositories to leverage CodePipeline SCM Triggers. GitLab can already leverage S3 and Container Triggers for CodePipeline. This work around enabled CodePipeline capabilities since it was documented. (06/06/2020)
[GitLab Configuration]
See CD and Operations Integrations below for Continuous Deployment (CD) specific integrations that are also available.
CI Integrations
- Direct CI Integrations That Use Keys, IAM or OIDC/JWT to Authenticate to AWS Services from GitLab Runners
-
Amazon CodeGuru Reviewer CI workflows using GitLab CI - can be done, not yet documented.
[AWS Solution]
[CI Solution]
-
Amazon CodeGuru Secure Scanning using GitLab CI (06/13/2022)
[AWS Solution]
[CI Solution]
CD and Operations Integrations
-
AWS CodeDeploy Integration - through CodePipeline support discussed above in SCM integrations. This capability allows GitLab to interface with this list of advanced deployment subsystems in AWS. (12/28/2023)
[AWS Built]
- AWS SAM Pipelines - pipelines support for GitLab. (7/31/2021)
-
Integrate EKS clusters for application deployment.
[GitLab Built]
-
GitLab pushing a build Artifact to a CodePipeline monitored S3 location
[AWS Built]
-
GitLab Pushing a container to a CodePipeline monitored AWS ECR
[AWS Built]
-
Use GitLab.com’s Container Registry as an Upstream Registry for AWS ECR via Pull-Through Cache Rules Configuration Tutorial
[AWS Built]
End-to-End Solutions for development and deployment of specific development frameworks or ecosystems
Generally solutions demonstrate end-to-end capabilities for the development framework - leveraging all relevant integration techniques to show the art of maximum value for using GitLab and AWS together.
Serverless
-
Enterprise DevOps Blueprint: Serverless Framework Apps on AWS - working example code and tutorials.
[GitLab Solution]
[CI Solution]
-
Tutorial: Serverless Framework Deployment to AWS with GitLab Serverless SAST Scanning
[GitLab Solution]
[CI Solution]
-
Tutorial: Secure Serverless Framework Development with GitLab Security Policy Approval Rules and Managed DevOps Environments
[GitLab Solution]
[CI Solution]
-
Tutorial: Serverless Framework Deployment to AWS with GitLab Serverless SAST Scanning
Terraform
-
Enterprise DevOps Blueprint: Terraform Deployment to AWS
-
Tutorial: Terraform Deployment to AWS with GitLab IaC SAST Scanning
[GitLab Solution]
[CI Solution]
-
Terraform Deployment to AWS with GitLab Security Policy Approval Rules and Managed DevOps Environments
[GitLab Solution]
[CI Solution]
-
Tutorial: Terraform Deployment to AWS with GitLab IaC SAST Scanning
CloudFormation
CloudFormation Development and Deployment With GitLab Lifecycle Managed DevOps Environments Working Code [GitLab Solution]
[CI Solution]
CDK
-
Building Cross-Account Deployment in GitLab Pipelines Using AWS CDK
[AWS Solution]
[CI Solution]
.NET on AWS
-
Working Example Code for Scaling .NET Framework 4.x Runners on AWS
[GitLab Solution]
[CI Solution]
-
Video Walkthrough of Code and Building a .NET Framework 4.x Project
[GitLab Solution]
[CI Solution]
System to system integration of GitLab and AWS
AWS Identity providers (IDP) can be configured to authenticate into GitLab or GitLab can function as an IDP into AWS accounts.
Top level groups on GitLab.com are also known as “Namespaces” and naming one after your company is the first step to setting up a tenant for your organization on GitLab.com. Namespaces can be configured for special functionality like SSO which then integrates your IDP into GitLab.
User authentication and authorization between GitLab and AWS
-
SAML SSO for GitLab.com groups
[GitLab Configuration]
- GitLab.com only -
Integrate LDAP with GitLab
[GitLab Configuration]
- Self-managed only
Runner workload authentication and authorization integration
-
Runner Job Authentication using Open ID & JWT Authentication.
[GitLab Built]
-
Configure OpenID Connect between GitLab and AWS
[GitLab Solution]
[CI Solution]
-
OIDC and Multi-Account Deployment with GitLab and ECS
[GitLab Solution]
[CI Solution]
-
Configure OpenID Connect between GitLab and AWS
GitLab infrastructure workloads deployed on AWS
While GitLab can be deployed on a single box for up to 500 users, when it is horizontally scaled for very large user counts like 50,000 it expands into being a complex, many tiered platform that benefits from deployment to AWS. GitLab is supports and is regularly tested being backed by AWS services. GitLab is deployable to Ec2 for traditional scaling and to AWS EKS in a Cloud Native Hybrid implementation. It is called Hybrid because specific service layers cannot be placed in a container cluster due to the workload shapes that are common to Git (and common to how Git processes behave handles that workload variety).
GitLab Instance Compute & Operations Integration
- Installing GitLab Self-Managed on AWS
- AWS Services that can be used when deploying GitLab
- GitLab Single EC2 Instance.
[GitLab Built]
- Using 5 Seat AWS marketplace subscription
- Using Prepared AMIs - Bring Your Own License for Enterprise Edition.
- GitLab Cloud Native Hybrid Scaled on AWS EKS and Paas.
[GitLab Built]
-
Using GitLab Environment Toolkit (GET) -
[GitLab Solution]
-
Using GitLab Environment Toolkit (GET) -
- GitLab Instance Scaled on AWS EC2 and PaaS.
[GitLab Built]
-
Using GitLab Environment Toolkit (GET) -
[GitLab Solution]
-
Using GitLab Environment Toolkit (GET) -
-
Amazon Managed Grafana for GitLab self-managed Prometheus metrics.
[AWS Built]
GitLab Runner on AWS Compute
-
GitLab Runner Autoscaler - core technology built by GitLab Runner team.
[GitLab Built]
-
GitLab Runner Infrastructure Toolkit (GRIT) - managed infrastructure as code stewarded by the GitLab Runner team. Needed to deploy things like the GitLab Runner Autoscaler.
[GitLab Built]
-
Autoscaling GitLab Runner on AWS EC2.
[GitLab Built]
-
GitLab HA Scaling Runner Vending Machine for AWS EC2 ASG.
[GitLab Solution]
- Runner vending machine training resources.
-
GitLab EKS Fargate Runners.
[GitLab Solution]