[{"data":1,"prerenderedAt":1066},["ShallowReactive",2],{"/en-us/github-actions-to-gitlab-ci":3,"navigation-en-us":384,"banner-en-us":801,"footer-en-us":811,"next-steps-en-us":1056},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":375,"meta":376,"navigation":377,"path":378,"seo":379,"slug":6,"stem":382,"testContent":6,"type":6,"__hash__":383},"pages/en-us/github-actions-to-gitlab-ci.yml","Github Actions To Gitlab Ci",null,[8,35,262,283,332,362,373],{"componentName":9,"componentContent":10},"GitlabCiHero",{"eyebrow":11,"title":12,"description":13,"primaryButton":14,"secondaryButton":20,"stats":25},"✦ Free AI skill","Convert your GitHub Actions workflows to \u003Cspan class=\"highlight\">GitLab CI/CD\u003C/span>. No docs required","Add a free AI skill to your existing agent or AI tool — Cursor, VS Code, Claude, or any MCP-compatible client — and convert GitHub Actions workflows to GitLab CI/CD in seconds. The hardest step of any migration, solved.\n",{"text":15,"config":16},"Get the skill",{"href":17,"dataGaName":18,"dataGaLocation":19},"#install","get the skill","hero",{"text":21,"config":22},"View the skill",{"href":23,"dataGaName":24,"dataGaLocation":19},"https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci","view the skill",[26,29,32],{"number":27,"label":28},"Seconds","to install",{"number":30,"label":31},"0","GitLab accounts required to convert",{"number":33,"label":34},"6+","AI tools supported",{"componentName":36,"componentContent":37},"GitlabCiCodeComparison",{"eyebrow":38,"title":39,"body":40,"leftFilename":41,"rightFilename":42,"footerLabel":43,"footerText":44,"leftLines":45,"rightLines":161},"GitLab CI/CD","Less assembly. More pipeline.","AI is shipping code through CI faster than platform teams can keep up. The GitHub Actions model is composable by design — even routine workflows assemble external actions for checkout, setup, scanning, and deploy. Each one is a version to pin, an upstream to track, and another thing the platform team owns when it breaks.\n\nGitLab CI/CD builds the basics into the platform natively. Your team spends its time defining golden paths, not maintaining glue.\n",".github/workflows/deploy.yml",".gitlab-ci.yml","Attention needed","Can't auto-convert something? The Skill flags it explicitly — no broken pipelines, no silent failures.",[46,51,58,60,66,71,82,84,89,94,101,106,112,117,122,130,136,141,146,151,155],{"tokens":47},[48],{"text":49,"type":50},"# GitHub Actions","comment",{"tokens":52},[53,56],{"text":54,"type":55},"name","key",{"text":57},": Deploy to Production",{"tokens":59},[],{"tokens":61},[62,64],{"text":63,"type":55},"on",{"text":65},":",{"tokens":67},[68,70],{"text":69,"type":55},"  push",{"text":65},{"tokens":72},[73,75,77,80],{"text":74,"type":55},"    branches",{"text":76},": [",{"text":78,"type":79},"main","string",{"text":81},"]",{"tokens":83},[],{"tokens":85},[86,88],{"text":87,"type":55},"jobs",{"text":65},{"tokens":90},[91,93],{"text":92,"type":55},"  deploy",{"text":65},{"tokens":95,"highlight":100},[96,98],{"text":97,"type":55},"    runs-on",{"text":99},": ubuntu-latest","red",{"tokens":102},[103,105],{"text":104,"type":55},"    steps",{"text":65},{"tokens":107,"highlight":100},[108,110],{"text":109,"type":55},"      - uses",{"text":111},": actions/checkout@v3",{"tokens":113,"highlight":100},[114,115],{"text":109,"type":55},{"text":116},": actions/setup-node@v3",{"tokens":118},[119,121],{"text":120,"type":55},"        with",{"text":65},{"tokens":123},[124,126,128],{"text":125,"type":55},"          node-version",{"text":127},": ",{"text":129,"type":79},"'18'",{"tokens":131},[132,134],{"text":133,"type":55},"      - run",{"text":135},": npm ci",{"tokens":137},[138,139],{"text":133,"type":55},{"text":140},": npm test",{"tokens":142},[143,144],{"text":133,"type":55},{"text":145},": npm run build",{"tokens":147,"highlight":100},[148,149],{"text":109,"type":55},{"text":150},": aws-actions/configure-aws-v2",{"tokens":152,"highlight":100},[153,154],{"text":120,"type":55},{"text":65},{"tokens":156,"highlight":100},[157,159],{"text":158,"type":55},"          aws-access-key-id",{"text":160},": ${{ secrets.AWS_KEY }}",[162,166,168,174,180,182,187,191,195,199,201,206,212,217,225,230,234,236,241,246,250,254,258],{"tokens":163},[164],{"text":165,"type":50},"# GitLab CI/CD — generated by Migration Skill",{"tokens":167},[],{"tokens":169,"highlight":173},[170,172],{"text":171,"type":55},"default",{"text":65},"green",{"tokens":175,"highlight":173},[176,178],{"text":177,"type":55},"  image",{"text":179},": node:18",{"tokens":181},[],{"tokens":183,"highlight":173},[184,186],{"text":185,"type":55},"stages",{"text":65},{"tokens":188,"highlight":173},[189],{"text":190},"  - test",{"tokens":192,"highlight":173},[193],{"text":194},"  - build",{"tokens":196,"highlight":173},[197],{"text":198},"  - deploy",{"tokens":200},[],{"tokens":202,"highlight":173},[203,205],{"text":204,"type":55},"test",{"text":65},{"tokens":207,"highlight":173},[208,210],{"text":209,"type":55},"  stage",{"text":211},": test",{"tokens":213,"highlight":173},[214,216],{"text":215,"type":55},"  rules",{"text":65},{"tokens":218},[219,221,223],{"text":220,"type":55},"    - if",{"text":222},": $CI_COMMIT_BRANCH == ",{"text":224,"type":79},"\"main\"",{"tokens":226},[227,229],{"text":228,"type":55},"  script",{"text":65},{"tokens":231},[232],{"text":233},"    - npm ci && npm test",{"tokens":235},[],{"tokens":237,"highlight":173},[238,240],{"text":239,"type":55},"deploy",{"text":65},{"tokens":242,"highlight":173},[243,244],{"text":209,"type":55},{"text":245},": deploy",{"tokens":247,"highlight":173},[248,249],{"text":228,"type":55},{"text":65},{"tokens":251,"highlight":173},[252],{"text":253},"    - npm run build",{"tokens":255,"highlight":173},[256],{"text":257,"type":50},"    - # ⚠ AWS action needs manual config",{"tokens":259,"highlight":173},[260],{"text":261,"type":50},"    - # docs.gitlab.com/ci/cloud-deployment",{"componentName":263,"componentContent":264},"GitlabCiSteps",{"eyebrow":265,"title":266,"description":267,"config":268,"steps":270},"Get started","Three steps to your first converted pipeline","No GitLab account needed for steps 1 and 2. Start converting right now in the tools you already use.",{"id":269},"get-started",[271,275,279],{"title":272,"description":273,"badge":274},"Install the skill","Add the GitLab CI Migration Skill to your agent on your favorite AI tool (Cursor, VS Code, Claude Code, OpenCode, Codex, or any tool that supports skills). One URL, one click.\n","~30 seconds",{"title":276,"description":277,"badge":278},"Activate your agent","Ask your agent to convert the GitHub Actions workflow to GitLab. The Skill translates it to valid GitLab CI YAML and flags anything that needs a manual decision.\n","Instant",{"title":280,"description":281,"badge":282},"Bring it to GitLab","When you're ready to run your converted pipeline, you'll need to manage your code in GitLab. Create a free account, [import your repo](https://docs.gitlab.com/user/project/import/github/), and drop in the generated .gitlab-ci.yml. CI, security scanning, and more — built in from day one.\n","Free to start",{"componentName":284,"componentContent":285},"GitlabCiAgents",{"eyebrow":286,"title":287,"description":288,"config":289,"tools":291},"Install","Works with your existing AI agents.","Use the GitLab CI Migration skill in the AI environment you already work in.",{"id":290},"install",[292,299,306,313,320,327],{"name":293,"description":294,"afterText":295,"config":296},"OpenCode","Download the skill and learn where to [place files](https://opencode.ai/docs/skills/#place-files) that OpenCode discovers.","Afterwards OpenCode will use the skill automatically when prompted: `\"Convert my .github/workflows/deploy.yml to GitLab CI\"`.",{"id":297,"href":298},"opencode","git clone https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci.git ~/.opencode/skills/github-actions-to-gitlab-ci",{"name":300,"description":301,"afterText":302,"config":303},"Cursor","Download the skill into one of the [Skill directories](https://cursor.com/docs/skills#skill-directories).","Then prompt Cursor: `\"Convert my .github/workflows/deploy.yml to GitLab CI\"` — it uses the Skill automatically.",{"id":304,"href":305},"cursor","git clone https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci.git ~/.cursor/skills/github-actions-to-gitlab-ci",{"name":307,"description":308,"afterText":309,"config":310},"VS Code","VS Code allows you to use [shared skills](https://code.visualstudio.com/docs/copilot/customization/agent-skills#_use-shared-skills) by downloading the skill into the corresponding local directory.","Then prompt the agent: `\"Convert my .github/workflows/deploy.yml to GitLab CI\"`.",{"id":311,"href":312},"vs-code","git clone https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci.git ~/.github/skills/github-actions-to-gitlab-ci",{"name":314,"description":315,"afterText":316,"config":317},"Claude Code","Download the skill into one of the directories [where skills live](https://code.claude.com/docs/en/skills#where-skills-live) in Claude Code.","Then drag a workflow file into chat and ask Claude to convert it.",{"id":318,"href":319},"claude-code","git clone https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci.git ~/.claude/skills/github-actions-to-gitlab-ci",{"name":321,"description":322,"afterText":323,"config":324},"Codex","See [where to save skills](https://developers.openai.com/codex/skills#where-to-save-skills) in Codex and place the skill into the corresponding directory of your choice.","Then drag a workflow file into chat and ask Codex to convert it.",{"id":325,"href":326},"codex","git clone https://gitlab.com/gitlab-org/ci-cd/github-actions-to-gitlab-ci.git ~/.agents/skills/github-actions-to-gitlab-ci",{"name":328,"description":329,"config":330},"Other","Any tool that supports skills will follow a similar pattern. Download the skill and place it into the right directory your tooling uses for skills discovery.",{"id":331,"href":23},"other",{"componentName":333,"componentContent":334},"GitlabCiFeatures",{"eyebrow":335,"title":336,"description":337,"config":338,"features":340,"footnote":361},"Why GitLab","Where GitLab pulls ahead.","GitLab is more than CI/CD. It's a complete DevSecOps platform.\n\nAI is multiplying code into your pipelines. Marketplace dependencies have become a supply-chain risk. Regulators want provable governance. GitLab gives platform teams the whole lifecycle natively: one place to govern, not a dozen.\n",{"id":339},"why-gitlab",[341,346,351,356],{"title":342,"description":343,"config":344},"Pipeline orchestration that scales","GitLab CI/CD scales with parent-child pipelines, multi-project pipelines, merge trains with parallel speculative validation, and a comprehensive private and public Catalog. GitHub Actions has reusable workflows and a merge queue, but no parent-child/multi-project, no speculative parallel pipelines on cumulative merge results, and visualization is limited to single workflows.\n",{"icon":345},"Pipeline",{"title":347,"description":348,"config":349},"Self-hosted runners, no orchestration fees","GitLab charges nothing for self-hosted runner orchestration. GitHub announced $0.002/min orchestration fees for self-hosted runners, then postponed indefinitely after backlash.\n",{"icon":350},"InfrastructureRegistry",{"title":352,"description":353,"config":354},"Security scanning, native to the pipeline","SAST, secret detection, and container scanning are included in GitLab Premium; dependency scanning is available in GitLab Ultimate. GitHub Advanced Security was unbundled in 2025 into two paid add-ons (Code Security and Secret Protection), and GitHub does not offer native DAST at any tier.\n",{"icon":355},"Shield",{"title":357,"description":358,"config":359},"The whole lifecycle, one product","SCM, CI/CD, security, planning, deployment all in the same product with one auth and permissions model. GitHub relies on separate services and add-ons (Advanced Security, Projects, third-party deploy tools) that customers must stitch together themselves.\n",{"icon":360},"Tanuki","The GitLab Duo Agent Platform extends AI across the full lifecycle — from planning, code, CI/CD, security, and deployment — giving agents unified context from a single data model rather than stitched-together integrations.\n",{"componentName":363,"componentContent":364},"GitlabCiCta",{"title":365,"description":366,"primaryButton":367,"secondaryButton":371},"Convert your first workflow.","Install the Skill in under a minute. Convert one workflow. See how the hardest part of the migration is now the easiest. When you're ready to bring your source code over, the importer is waiting. Once you're done, [share your feedback with us](https://gitlab.com/gitlab-org/gitlab/-/work_items/598966).\n",{"text":15,"config":368},{"href":17,"dataGaName":369,"dataGaLocation":370},"download the skill","footer cta",{"text":21,"config":372},{"href":23,"dataGaName":24,"dataGaLocation":370},{"componentName":374},"CommonNextSteps","yml",{},true,"/en-us/github-actions-to-gitlab-ci",{"title":380,"description":381},"Convert GitHub Actions to GitLab CI/CD | Free AI Skill","Convert GitHub Actions workflows to GitLab CI/CD in seconds. Add a free AI skill to Cursor, VS Code, Claude, or any MCP-compatible client.","en-us/github-actions-to-gitlab-ci","xY-J72b6udLNIJxgC17zww1QKM7aONNvNn65a_mfa-A",{"logo":385,"freeTrial":390,"sales":395,"login":400,"items":405,"search":721,"minimal":752,"duo":771,"switchNav":780,"pricingDeployment":791},{"config":386},{"href":387,"dataGaName":388,"dataGaLocation":389},"/","gitlab logo","header",{"text":391,"config":392},"Get free trial",{"href":393,"dataGaName":394,"dataGaLocation":389},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":396,"config":397},"Talk to sales",{"href":398,"dataGaName":399,"dataGaLocation":389},"/sales/","sales",{"text":401,"config":402},"Sign in",{"href":403,"dataGaName":404,"dataGaLocation":389},"https://gitlab.com/users/sign_in/","sign in",[406,434,534,539,641,701],{"text":407,"config":408,"menu":410},"Platform",{"dataNavLevelOne":409},"platform",{"type":411,"columns":412},"cards",[413,419,427],{"title":407,"description":414,"link":415},"The intelligent orchestration platform for DevSecOps",{"text":416,"config":417},"Explore our Platform",{"href":418,"dataGaName":409,"dataGaLocation":389},"/platform/",{"title":420,"description":421,"link":422},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":423,"config":424},"Meet GitLab Duo",{"href":425,"dataGaName":426,"dataGaLocation":389},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":335,"description":428,"link":429},"See the top reasons enterprises choose GitLab",{"text":430,"config":431},"Learn more",{"href":432,"dataGaName":433,"dataGaLocation":389},"/why-gitlab/","why gitlab",{"text":435,"left":377,"config":436,"menu":438},"Product",{"dataNavLevelOne":437},"solutions",{"type":439,"link":440,"columns":444,"feature":513},"lists",{"text":441,"config":442},"View all Solutions",{"href":443,"dataGaName":437,"dataGaLocation":389},"/solutions/",[445,469,492],{"title":446,"description":447,"link":448,"items":453},"Automation","CI/CD and automation to accelerate deployment",{"config":449},{"icon":450,"href":451,"dataGaName":452,"dataGaLocation":389},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[454,458,461,465],{"text":455,"config":456},"CI/CD",{"href":457,"dataGaLocation":389,"dataGaName":455},"/solutions/continuous-integration/",{"text":420,"config":459},{"href":425,"dataGaLocation":389,"dataGaName":460},"gitlab duo agent platform - product menu",{"text":462,"config":463},"Source Code Management",{"href":464,"dataGaLocation":389,"dataGaName":462},"/solutions/source-code-management/",{"text":466,"config":467},"Automated Software Delivery",{"href":451,"dataGaLocation":389,"dataGaName":468},"Automated software delivery",{"title":470,"description":471,"link":472,"items":477},"Security","Deliver code faster without compromising security",{"config":473},{"href":474,"dataGaName":475,"dataGaLocation":389,"icon":476},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[478,482,487],{"text":479,"config":480},"Application Security Testing",{"href":474,"dataGaName":481,"dataGaLocation":389},"Application security testing",{"text":483,"config":484},"Software Supply Chain Security",{"href":485,"dataGaLocation":389,"dataGaName":486},"/solutions/supply-chain/","Software supply chain security",{"text":488,"config":489},"Software Compliance",{"href":490,"dataGaName":491,"dataGaLocation":389},"/solutions/software-compliance/","software compliance",{"title":493,"link":494,"items":499},"Measurement",{"config":495},{"icon":496,"href":497,"dataGaName":498,"dataGaLocation":389},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[500,504,508],{"text":501,"config":502},"Visibility & Measurement",{"href":497,"dataGaLocation":389,"dataGaName":503},"Visibility and Measurement",{"text":505,"config":506},"Value Stream Management",{"href":507,"dataGaLocation":389,"dataGaName":505},"/solutions/value-stream-management/",{"text":509,"config":510},"Analytics & Insights",{"href":511,"dataGaLocation":389,"dataGaName":512},"/solutions/analytics-and-insights/","Analytics and insights",{"title":514,"type":439,"items":515},"GitLab for",[516,522,528],{"text":517,"config":518},"Enterprise",{"icon":519,"href":520,"dataGaLocation":389,"dataGaName":521},"Building","/enterprise/","enterprise",{"text":523,"config":524},"Small Business",{"icon":525,"href":526,"dataGaLocation":389,"dataGaName":527},"Work","/small-business/","small business",{"text":529,"config":530},"Public Sector",{"icon":531,"href":532,"dataGaLocation":389,"dataGaName":533},"Organization","/solutions/public-sector/","public sector",{"text":535,"config":536},"Pricing",{"href":537,"dataGaName":538,"dataGaLocation":389,"dataNavLevelOne":538},"/pricing/","pricing",{"text":540,"config":541,"menu":543},"Resources",{"dataNavLevelOne":542},"resources",{"type":439,"link":544,"columns":548,"feature":630},{"text":545,"config":546},"View all resources",{"href":547,"dataGaName":542,"dataGaLocation":389},"/resources/",[549,580,602],{"title":550,"items":551},"Getting started",[552,555,560,565,570,575],{"text":286,"config":553},{"href":554,"dataGaName":290,"dataGaLocation":389},"/install/",{"text":556,"config":557},"Quick start guides",{"href":558,"dataGaName":559,"dataGaLocation":389},"/get-started/","quick setup checklists",{"text":561,"config":562},"Learn",{"href":563,"dataGaLocation":389,"dataGaName":564},"https://university.gitlab.com/","learn",{"text":566,"config":567},"Product documentation",{"href":568,"dataGaName":569,"dataGaLocation":389},"https://docs.gitlab.com/","product documentation",{"text":571,"config":572},"Best practice videos",{"href":573,"dataGaName":574,"dataGaLocation":389},"/getting-started-videos/","best practice videos",{"text":576,"config":577},"Integrations",{"href":578,"dataGaName":579,"dataGaLocation":389},"/integrations/","integrations",{"title":581,"items":582},"Discover",[583,588,593,597],{"text":584,"config":585},"Customer success stories",{"href":586,"dataGaName":587,"dataGaLocation":389},"/customers/","customer success stories",{"text":589,"config":590},"Blog",{"href":591,"dataGaName":592,"dataGaLocation":389},"/blog/","blog",{"text":594,"config":595},"The Source",{"href":596,"dataGaName":592,"dataGaLocation":389},"/the-source/",{"text":598,"config":599},"Remote",{"href":600,"dataGaName":601,"dataGaLocation":389},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":603,"items":604},"Connect",[605,610,615,620,625],{"text":606,"config":607},"GitLab Services",{"href":608,"dataGaName":609,"dataGaLocation":389},"/services/","services",{"text":611,"config":612},"Community",{"href":613,"dataGaName":614,"dataGaLocation":389},"/community/","community",{"text":616,"config":617},"Forum",{"href":618,"dataGaName":619,"dataGaLocation":389},"https://forum.gitlab.com/","forum",{"text":621,"config":622},"Events",{"href":623,"dataGaName":624,"dataGaLocation":389},"/events/","events",{"text":626,"config":627},"Partners",{"href":628,"dataGaName":629,"dataGaLocation":389},"/partners/","partners",{"config":631,"title":634,"text":635,"link":636},{"background":632,"textColor":633},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":637,"config":638},"Read the latest",{"href":639,"dataGaName":640,"dataGaLocation":389},"/whats-new/","whats new",{"text":642,"config":643,"menu":645},"Company",{"dataNavLevelOne":644},"company",{"type":439,"columns":646},[647],{"items":648},[649,654,659,661,666,671,676,681,686,691,696],{"text":650,"config":651},"About",{"href":652,"dataGaName":653,"dataGaLocation":389},"/company/","about",{"text":655,"config":656,"footerGa":658},"Jobs",{"href":657,"dataGaName":87,"dataGaLocation":389},"/jobs/",{"dataGaName":87},{"text":621,"config":660},{"href":623,"dataGaName":624,"dataGaLocation":389},{"text":662,"config":663},"Leadership",{"href":664,"dataGaName":665,"dataGaLocation":389},"/company/team/e-group/","leadership",{"text":667,"config":668},"Team",{"href":669,"dataGaName":670,"dataGaLocation":389},"/company/team/","team",{"text":672,"config":673},"Handbook",{"href":674,"dataGaName":675,"dataGaLocation":389},"https://handbook.gitlab.com/","handbook",{"text":677,"config":678},"Investor relations",{"href":679,"dataGaName":680,"dataGaLocation":389},"https://ir.gitlab.com/","investor relations",{"text":682,"config":683},"Trust Center",{"href":684,"dataGaName":685,"dataGaLocation":389},"/security/","trust center",{"text":687,"config":688},"AI Transparency Center",{"href":689,"dataGaName":690,"dataGaLocation":389},"/ai-transparency-center/","ai transparency center",{"text":692,"config":693},"Newsletter",{"href":694,"dataGaName":695,"dataGaLocation":389},"/company/contact/#contact-forms","newsletter",{"text":697,"config":698},"Press",{"href":699,"dataGaName":700,"dataGaLocation":389},"/press/","press",{"text":702,"config":703,"menu":704},"Contact us",{"dataNavLevelOne":644},{"type":439,"columns":705},[706],{"items":707},[708,711,716],{"text":396,"config":709},{"href":398,"dataGaName":710,"dataGaLocation":389},"talk to sales",{"text":712,"config":713},"Support portal",{"href":714,"dataGaName":715,"dataGaLocation":389},"https://support.gitlab.com","support portal",{"text":717,"config":718},"Customer portal",{"href":719,"dataGaName":720,"dataGaLocation":389},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":722,"login":723,"suggestions":730},"Close",{"text":724,"link":725},"To search repositories and projects, login to",{"text":726,"config":727},"gitlab.com",{"href":403,"dataGaName":728,"dataGaLocation":729},"search login","search",{"text":731,"default":732},"Suggestions",[733,735,739,741,745,749],{"text":420,"config":734},{"href":425,"dataGaName":420,"dataGaLocation":729},{"text":736,"config":737},"Code Suggestions (AI)",{"href":738,"dataGaName":736,"dataGaLocation":729},"/solutions/code-suggestions/",{"text":455,"config":740},{"href":457,"dataGaName":455,"dataGaLocation":729},{"text":742,"config":743},"GitLab on AWS",{"href":744,"dataGaName":742,"dataGaLocation":729},"/partners/technology-partners/aws/",{"text":746,"config":747},"GitLab on Google Cloud",{"href":748,"dataGaName":746,"dataGaLocation":729},"/partners/technology-partners/google-cloud-platform/",{"text":750,"config":751},"Why GitLab?",{"href":432,"dataGaName":750,"dataGaLocation":729},{"freeTrial":753,"mobileIcon":758,"desktopIcon":763,"secondaryButton":766},{"text":754,"config":755},"Start free trial",{"href":756,"dataGaName":394,"dataGaLocation":757},"https://gitlab.com/-/trials/new/","nav",{"altText":759,"config":760},"Gitlab Icon",{"src":761,"dataGaName":762,"dataGaLocation":757},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":759,"config":764},{"src":765,"dataGaName":762,"dataGaLocation":757},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":767,"config":768},"Get Started",{"href":769,"dataGaName":770,"dataGaLocation":757},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":772,"mobileIcon":776,"desktopIcon":778},{"text":773,"config":774},"Learn more about GitLab Duo",{"href":425,"dataGaName":775,"dataGaLocation":757},"gitlab duo",{"altText":759,"config":777},{"src":761,"dataGaName":762,"dataGaLocation":757},{"altText":759,"config":779},{"src":765,"dataGaName":762,"dataGaLocation":757},{"button":781,"mobileIcon":786,"desktopIcon":788},{"text":782,"config":783},"/switch",{"href":784,"dataGaName":785,"dataGaLocation":757},"#contact","switch",{"altText":759,"config":787},{"src":761,"dataGaName":762,"dataGaLocation":757},{"altText":759,"config":789},{"src":790,"dataGaName":762,"dataGaLocation":757},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":792,"mobileIcon":797,"desktopIcon":799},{"text":793,"config":794},"Back to pricing",{"href":537,"dataGaName":795,"dataGaLocation":757,"icon":796},"back to pricing","GoBack",{"altText":759,"config":798},{"src":761,"dataGaName":762,"dataGaLocation":757},{"altText":759,"config":800},{"src":765,"dataGaName":762,"dataGaLocation":757},{"title":802,"button":803,"config":808},"See how agentic AI transforms software delivery",{"text":804,"config":805},"Sign up for GitLab Transcend on June 10",{"href":806,"dataGaName":807,"dataGaLocation":389},"/events/transcend/virtual/","transcend event",{"layout":809,"disabled":810},"release",false,{"data":812},{"text":813,"source":814,"edit":820,"contribute":825,"config":830,"items":835,"minimal":1045},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":815,"config":816},"View page source",{"href":817,"dataGaName":818,"dataGaLocation":819},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":821,"config":822},"Edit this page",{"href":823,"dataGaName":824,"dataGaLocation":819},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":826,"config":827},"Please contribute",{"href":828,"dataGaName":829,"dataGaLocation":819},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":831,"facebook":832,"youtube":833,"linkedin":834},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[836,883,937,981,1011],{"title":535,"links":837,"subMenu":852},[838,842,847],{"text":839,"config":840},"View plans",{"href":537,"dataGaName":841,"dataGaLocation":819},"view plans",{"text":843,"config":844},"Why Premium?",{"href":845,"dataGaName":846,"dataGaLocation":819},"/pricing/premium/","why premium",{"text":848,"config":849},"Why Ultimate?",{"href":850,"dataGaName":851,"dataGaLocation":819},"/pricing/ultimate/","why ultimate",[853],{"title":854,"links":855},"Contact Us",[856,859,861,863,868,873,878],{"text":857,"config":858},"Contact sales",{"href":398,"dataGaName":399,"dataGaLocation":819},{"text":712,"config":860},{"href":714,"dataGaName":715,"dataGaLocation":819},{"text":717,"config":862},{"href":719,"dataGaName":720,"dataGaLocation":819},{"text":864,"config":865},"Status",{"href":866,"dataGaName":867,"dataGaLocation":819},"https://status.gitlab.com/","status",{"text":869,"config":870},"Terms of use",{"href":871,"dataGaName":872,"dataGaLocation":819},"/terms/","terms of use",{"text":874,"config":875},"Privacy statement",{"href":876,"dataGaName":877,"dataGaLocation":819},"/privacy/","privacy statement",{"text":879,"config":880},"Cookie preferences",{"dataGaName":881,"dataGaLocation":819,"id":882,"isOneTrustButton":377},"cookie preferences","ot-sdk-btn",{"title":435,"links":884,"subMenu":893},[885,889],{"text":886,"config":887},"DevSecOps platform",{"href":418,"dataGaName":888,"dataGaLocation":819},"devsecops platform",{"text":890,"config":891},"AI-Assisted Development",{"href":425,"dataGaName":892,"dataGaLocation":819},"ai-assisted development",[894],{"title":895,"links":896},"Topics",[897,902,907,912,917,922,927,932],{"text":898,"config":899},"CICD",{"href":900,"dataGaName":901,"dataGaLocation":819},"/topics/ci-cd/","cicd",{"text":903,"config":904},"GitOps",{"href":905,"dataGaName":906,"dataGaLocation":819},"/topics/gitops/","gitops",{"text":908,"config":909},"DevOps",{"href":910,"dataGaName":911,"dataGaLocation":819},"/topics/devops/","devops",{"text":913,"config":914},"Version Control",{"href":915,"dataGaName":916,"dataGaLocation":819},"/topics/version-control/","version control",{"text":918,"config":919},"DevSecOps",{"href":920,"dataGaName":921,"dataGaLocation":819},"/topics/devsecops/","devsecops",{"text":923,"config":924},"Cloud Native",{"href":925,"dataGaName":926,"dataGaLocation":819},"/topics/cloud-native/","cloud native",{"text":928,"config":929},"AI for Coding",{"href":930,"dataGaName":931,"dataGaLocation":819},"/topics/devops/ai-for-coding/","ai for coding",{"text":933,"config":934},"Agentic AI",{"href":935,"dataGaName":936,"dataGaLocation":819},"/topics/agentic-ai/","agentic ai",{"title":938,"links":939},"Solutions",[940,942,944,949,953,956,960,963,965,968,971,976],{"text":479,"config":941},{"href":474,"dataGaName":479,"dataGaLocation":819},{"text":468,"config":943},{"href":451,"dataGaName":452,"dataGaLocation":819},{"text":945,"config":946},"Agile development",{"href":947,"dataGaName":948,"dataGaLocation":819},"/solutions/agile-delivery/","agile delivery",{"text":950,"config":951},"SCM",{"href":464,"dataGaName":952,"dataGaLocation":819},"source code management",{"text":898,"config":954},{"href":457,"dataGaName":955,"dataGaLocation":819},"continuous integration & delivery",{"text":957,"config":958},"Value stream management",{"href":507,"dataGaName":959,"dataGaLocation":819},"value stream management",{"text":903,"config":961},{"href":962,"dataGaName":906,"dataGaLocation":819},"/solutions/gitops/",{"text":517,"config":964},{"href":520,"dataGaName":521,"dataGaLocation":819},{"text":966,"config":967},"Small business",{"href":526,"dataGaName":527,"dataGaLocation":819},{"text":969,"config":970},"Public sector",{"href":532,"dataGaName":533,"dataGaLocation":819},{"text":972,"config":973},"Education",{"href":974,"dataGaName":975,"dataGaLocation":819},"/solutions/education/","education",{"text":977,"config":978},"Financial services",{"href":979,"dataGaName":980,"dataGaLocation":819},"/solutions/finance/","financial services",{"title":540,"links":982},[983,985,987,989,992,994,997,999,1001,1003,1005,1007,1009],{"text":286,"config":984},{"href":554,"dataGaName":290,"dataGaLocation":819},{"text":556,"config":986},{"href":558,"dataGaName":559,"dataGaLocation":819},{"text":561,"config":988},{"href":563,"dataGaName":564,"dataGaLocation":819},{"text":566,"config":990},{"href":568,"dataGaName":991,"dataGaLocation":819},"docs",{"text":589,"config":993},{"href":591,"dataGaName":592,"dataGaLocation":819},{"text":995,"config":996},"What's new",{"href":639,"dataGaName":640,"dataGaLocation":819},{"text":584,"config":998},{"href":586,"dataGaName":587,"dataGaLocation":819},{"text":598,"config":1000},{"href":600,"dataGaName":601,"dataGaLocation":819},{"text":606,"config":1002},{"href":608,"dataGaName":609,"dataGaLocation":819},{"text":611,"config":1004},{"href":613,"dataGaName":614,"dataGaLocation":819},{"text":616,"config":1006},{"href":618,"dataGaName":619,"dataGaLocation":819},{"text":621,"config":1008},{"href":623,"dataGaName":624,"dataGaLocation":819},{"text":626,"config":1010},{"href":628,"dataGaName":629,"dataGaLocation":819},{"title":642,"links":1012},[1013,1015,1017,1019,1021,1023,1025,1029,1034,1036,1038,1040],{"text":650,"config":1014},{"href":652,"dataGaName":644,"dataGaLocation":819},{"text":655,"config":1016},{"href":657,"dataGaName":87,"dataGaLocation":819},{"text":662,"config":1018},{"href":664,"dataGaName":665,"dataGaLocation":819},{"text":667,"config":1020},{"href":669,"dataGaName":670,"dataGaLocation":819},{"text":672,"config":1022},{"href":674,"dataGaName":675,"dataGaLocation":819},{"text":677,"config":1024},{"href":679,"dataGaName":680,"dataGaLocation":819},{"text":1026,"config":1027},"Sustainability",{"href":1028,"dataGaName":1026,"dataGaLocation":819},"/sustainability/",{"text":1030,"config":1031},"Diversity, inclusion and belonging (DIB)",{"href":1032,"dataGaName":1033,"dataGaLocation":819},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":682,"config":1035},{"href":684,"dataGaName":685,"dataGaLocation":819},{"text":692,"config":1037},{"href":694,"dataGaName":695,"dataGaLocation":819},{"text":697,"config":1039},{"href":699,"dataGaName":700,"dataGaLocation":819},{"text":1041,"config":1042},"Modern Slavery Transparency Statement",{"href":1043,"dataGaName":1044,"dataGaLocation":819},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1046},[1047,1050,1053],{"text":1048,"config":1049},"Terms",{"href":871,"dataGaName":872,"dataGaLocation":819},{"text":1051,"config":1052},"Cookies",{"dataGaName":881,"dataGaLocation":819,"id":882,"isOneTrustButton":377},{"text":1054,"config":1055},"Privacy",{"href":876,"dataGaName":877,"dataGaLocation":819},{"header":1057,"blurb":1058,"button":1059,"secondaryButton":1064},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1060,"config":1061},"Get your free trial",{"href":1062,"dataGaName":394,"dataGaLocation":1063},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":857,"config":1065},{"href":398,"dataGaName":399,"dataGaLocation":1063},1778780249520]