[{"data":1,"prerenderedAt":932},["ShallowReactive",2],{"/en-us/blog/authors/job-van-der-voort":3,"navigation-en-us":21,"banner-en-us":431,"footer-en-us":441,"blog-author-posts-en-us-job-van-der-voort":683},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":14,"meta":15,"navigation":16,"path":17,"seo":18,"stem":19,"__hash__":20},"blogAuthors/en-us/blog/authors/job-van-der-voort.yml","Job Van Der Voort",null,{"template":8},"BlogAuthor",{"name":10,"config":11},"Job van der Voort",{"headshot":12,"ctfId":13},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Job-van-der-Voort","yml",{},true,"/en-us/blog/authors/job-van-der-voort",{},"en-us/blog/authors/job-van-der-voort","w8TOn_hGFgQQOv35VnObjxoMM-hviRbwtijFETooJCM",{"data":22},{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":351,"minimal":382,"duo":401,"switchNav":410,"pricingDeployment":421},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/","gitlab logo","header",{"text":29,"config":30},"Get free trial",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Talk to sales",{"href":36,"dataGaName":37,"dataGaLocation":27},"/sales/","sales",{"text":39,"config":40},"Sign in",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,71,166,171,272,332],{"text":45,"config":46,"cards":48},"Platform",{"dataNavLevelOne":47},"platform",[49,55,63],{"title":45,"description":50,"link":51},"The intelligent orchestration platform for DevSecOps",{"text":52,"config":53},"Explore our Platform",{"href":54,"dataGaName":47,"dataGaLocation":27},"/platform/",{"title":56,"description":57,"link":58},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":59,"config":60},"Meet GitLab Duo",{"href":61,"dataGaName":62,"dataGaLocation":27},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":64,"description":65,"link":66},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":67,"config":68},"Learn more",{"href":69,"dataGaName":70,"dataGaLocation":27},"/why-gitlab/","why gitlab",{"text":72,"left":16,"config":73,"link":75,"lists":79,"footer":148},"Product",{"dataNavLevelOne":74},"solutions",{"text":76,"config":77},"View all Solutions",{"href":78,"dataGaName":74,"dataGaLocation":27},"/solutions/",[80,104,127],{"title":81,"description":82,"link":83,"items":88},"Automation","CI/CD and automation to accelerate deployment",{"config":84},{"icon":85,"href":86,"dataGaName":87,"dataGaLocation":27},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[89,93,96,100],{"text":90,"config":91},"CI/CD",{"href":92,"dataGaLocation":27,"dataGaName":90},"/solutions/continuous-integration/",{"text":56,"config":94},{"href":61,"dataGaLocation":27,"dataGaName":95},"gitlab duo agent platform - product menu",{"text":97,"config":98},"Source Code Management",{"href":99,"dataGaLocation":27,"dataGaName":97},"/solutions/source-code-management/",{"text":101,"config":102},"Automated Software Delivery",{"href":86,"dataGaLocation":27,"dataGaName":103},"Automated software delivery",{"title":105,"description":106,"link":107,"items":112},"Security","Deliver code faster without compromising security",{"config":108},{"href":109,"dataGaName":110,"dataGaLocation":27,"icon":111},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[113,117,122],{"text":114,"config":115},"Application Security Testing",{"href":109,"dataGaName":116,"dataGaLocation":27},"Application security testing",{"text":118,"config":119},"Software Supply Chain Security",{"href":120,"dataGaLocation":27,"dataGaName":121},"/solutions/supply-chain/","Software supply chain security",{"text":123,"config":124},"Software Compliance",{"href":125,"dataGaName":126,"dataGaLocation":27},"/solutions/software-compliance/","software compliance",{"title":128,"link":129,"items":134},"Measurement",{"config":130},{"icon":131,"href":132,"dataGaName":133,"dataGaLocation":27},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[135,139,143],{"text":136,"config":137},"Visibility & Measurement",{"href":132,"dataGaLocation":27,"dataGaName":138},"Visibility and Measurement",{"text":140,"config":141},"Value Stream Management",{"href":142,"dataGaLocation":27,"dataGaName":140},"/solutions/value-stream-management/",{"text":144,"config":145},"Analytics & Insights",{"href":146,"dataGaLocation":27,"dataGaName":147},"/solutions/analytics-and-insights/","Analytics and insights",{"title":149,"items":150},"GitLab for",[151,156,161],{"text":152,"config":153},"Enterprise",{"href":154,"dataGaLocation":27,"dataGaName":155},"/enterprise/","enterprise",{"text":157,"config":158},"Small Business",{"href":159,"dataGaLocation":27,"dataGaName":160},"/small-business/","small business",{"text":162,"config":163},"Public Sector",{"href":164,"dataGaLocation":27,"dataGaName":165},"/solutions/public-sector/","public sector",{"text":167,"config":168},"Pricing",{"href":169,"dataGaName":170,"dataGaLocation":27,"dataNavLevelOne":170},"/pricing/","pricing",{"text":172,"config":173,"link":175,"lists":179,"feature":259},"Resources",{"dataNavLevelOne":174},"resources",{"text":176,"config":177},"View all resources",{"href":178,"dataGaName":174,"dataGaLocation":27},"/resources/",[180,213,231],{"title":181,"items":182},"Getting started",[183,188,193,198,203,208],{"text":184,"config":185},"Install",{"href":186,"dataGaName":187,"dataGaLocation":27},"/install/","install",{"text":189,"config":190},"Quick start guides",{"href":191,"dataGaName":192,"dataGaLocation":27},"/get-started/","quick setup checklists",{"text":194,"config":195},"Learn",{"href":196,"dataGaLocation":27,"dataGaName":197},"https://university.gitlab.com/","learn",{"text":199,"config":200},"Product documentation",{"href":201,"dataGaName":202,"dataGaLocation":27},"https://docs.gitlab.com/","product documentation",{"text":204,"config":205},"Best practice videos",{"href":206,"dataGaName":207,"dataGaLocation":27},"/getting-started-videos/","best practice videos",{"text":209,"config":210},"Integrations",{"href":211,"dataGaName":212,"dataGaLocation":27},"/integrations/","integrations",{"title":214,"items":215},"Discover",[216,221,226],{"text":217,"config":218},"Customer success stories",{"href":219,"dataGaName":220,"dataGaLocation":27},"/customers/","customer success stories",{"text":222,"config":223},"Blog",{"href":224,"dataGaName":225,"dataGaLocation":27},"/blog/","blog",{"text":227,"config":228},"Remote",{"href":229,"dataGaName":230,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":232,"items":233},"Connect",[234,239,244,249,254],{"text":235,"config":236},"GitLab Services",{"href":237,"dataGaName":238,"dataGaLocation":27},"/services/","services",{"text":240,"config":241},"Community",{"href":242,"dataGaName":243,"dataGaLocation":27},"/community/","community",{"text":245,"config":246},"Forum",{"href":247,"dataGaName":248,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":250,"config":251},"Events",{"href":252,"dataGaName":253,"dataGaLocation":27},"/events/","events",{"text":255,"config":256},"Partners",{"href":257,"dataGaName":258,"dataGaLocation":27},"/partners/","partners",{"backgroundColor":260,"textColor":261,"text":262,"image":263,"link":267},"#2f2a6b","#fff","Insights for the future of software development",{"altText":264,"config":265},"the source promo card",{"src":266},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":268,"config":269},"Read the latest",{"href":270,"dataGaName":271,"dataGaLocation":27},"/the-source/","the source",{"text":273,"config":274,"lists":276},"Company",{"dataNavLevelOne":275},"company",[277],{"items":278},[279,284,290,292,297,302,307,312,317,322,327],{"text":280,"config":281},"About",{"href":282,"dataGaName":283,"dataGaLocation":27},"/company/","about",{"text":285,"config":286,"footerGa":289},"Jobs",{"href":287,"dataGaName":288,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":288},{"text":250,"config":291},{"href":252,"dataGaName":253,"dataGaLocation":27},{"text":293,"config":294},"Leadership",{"href":295,"dataGaName":296,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":298,"config":299},"Team",{"href":300,"dataGaName":301,"dataGaLocation":27},"/company/team/","team",{"text":303,"config":304},"Handbook",{"href":305,"dataGaName":306,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":308,"config":309},"Investor relations",{"href":310,"dataGaName":311,"dataGaLocation":27},"https://ir.gitlab.com/","investor relations",{"text":313,"config":314},"Trust Center",{"href":315,"dataGaName":316,"dataGaLocation":27},"/security/","trust center",{"text":318,"config":319},"AI Transparency Center",{"href":320,"dataGaName":321,"dataGaLocation":27},"/ai-transparency-center/","ai transparency center",{"text":323,"config":324},"Newsletter",{"href":325,"dataGaName":326,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":328,"config":329},"Press",{"href":330,"dataGaName":331,"dataGaLocation":27},"/press/","press",{"text":333,"config":334,"lists":335},"Contact us",{"dataNavLevelOne":275},[336],{"items":337},[338,341,346],{"text":34,"config":339},{"href":36,"dataGaName":340,"dataGaLocation":27},"talk to sales",{"text":342,"config":343},"Support portal",{"href":344,"dataGaName":345,"dataGaLocation":27},"https://support.gitlab.com","support portal",{"text":347,"config":348},"Customer portal",{"href":349,"dataGaName":350,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":352,"login":353,"suggestions":360},"Close",{"text":354,"link":355},"To search repositories and projects, login to",{"text":356,"config":357},"gitlab.com",{"href":41,"dataGaName":358,"dataGaLocation":359},"search login","search",{"text":361,"default":362},"Suggestions",[363,365,369,371,375,379],{"text":56,"config":364},{"href":61,"dataGaName":56,"dataGaLocation":359},{"text":366,"config":367},"Code Suggestions (AI)",{"href":368,"dataGaName":366,"dataGaLocation":359},"/solutions/code-suggestions/",{"text":90,"config":370},{"href":92,"dataGaName":90,"dataGaLocation":359},{"text":372,"config":373},"GitLab on AWS",{"href":374,"dataGaName":372,"dataGaLocation":359},"/partners/technology-partners/aws/",{"text":376,"config":377},"GitLab on Google Cloud",{"href":378,"dataGaName":376,"dataGaLocation":359},"/partners/technology-partners/google-cloud-platform/",{"text":380,"config":381},"Why GitLab?",{"href":69,"dataGaName":380,"dataGaLocation":359},{"freeTrial":383,"mobileIcon":388,"desktopIcon":393,"secondaryButton":396},{"text":384,"config":385},"Start free trial",{"href":386,"dataGaName":32,"dataGaLocation":387},"https://gitlab.com/-/trials/new/","nav",{"altText":389,"config":390},"Gitlab Icon",{"src":391,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":389,"config":394},{"src":395,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":397,"config":398},"Get Started",{"href":399,"dataGaName":400,"dataGaLocation":387},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":402,"mobileIcon":406,"desktopIcon":408},{"text":403,"config":404},"Learn more about GitLab Duo",{"href":61,"dataGaName":405,"dataGaLocation":387},"gitlab duo",{"altText":389,"config":407},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":409},{"src":395,"dataGaName":392,"dataGaLocation":387},{"button":411,"mobileIcon":416,"desktopIcon":418},{"text":412,"config":413},"/switch",{"href":414,"dataGaName":415,"dataGaLocation":387},"#contact","switch",{"altText":389,"config":417},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":419},{"src":420,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":422,"mobileIcon":427,"desktopIcon":429},{"text":423,"config":424},"Back to pricing",{"href":169,"dataGaName":425,"dataGaLocation":387,"icon":426},"back to pricing","GoBack",{"altText":389,"config":428},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":430},{"src":395,"dataGaName":392,"dataGaLocation":387},{"title":432,"button":433,"config":438},"See how agentic AI transforms software delivery",{"text":434,"config":435},"Watch GitLab Transcend now",{"href":436,"dataGaName":437,"dataGaLocation":27},"/events/transcend/virtual/","transcend event",{"layout":439,"icon":440,"disabled":16},"release","AiStar",{"data":442},{"text":443,"source":444,"edit":450,"contribute":455,"config":460,"items":465,"minimal":672},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":445,"config":446},"View page source",{"href":447,"dataGaName":448,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":451,"config":452},"Edit this page",{"href":453,"dataGaName":454,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":456,"config":457},"Please contribute",{"href":458,"dataGaName":459,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":461,"facebook":462,"youtube":463,"linkedin":464},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[466,513,567,611,638],{"title":167,"links":467,"subMenu":482},[468,472,477],{"text":469,"config":470},"View plans",{"href":169,"dataGaName":471,"dataGaLocation":449},"view plans",{"text":473,"config":474},"Why Premium?",{"href":475,"dataGaName":476,"dataGaLocation":449},"/pricing/premium/","why premium",{"text":478,"config":479},"Why Ultimate?",{"href":480,"dataGaName":481,"dataGaLocation":449},"/pricing/ultimate/","why ultimate",[483],{"title":484,"links":485},"Contact Us",[486,489,491,493,498,503,508],{"text":487,"config":488},"Contact sales",{"href":36,"dataGaName":37,"dataGaLocation":449},{"text":342,"config":490},{"href":344,"dataGaName":345,"dataGaLocation":449},{"text":347,"config":492},{"href":349,"dataGaName":350,"dataGaLocation":449},{"text":494,"config":495},"Status",{"href":496,"dataGaName":497,"dataGaLocation":449},"https://status.gitlab.com/","status",{"text":499,"config":500},"Terms of use",{"href":501,"dataGaName":502,"dataGaLocation":449},"/terms/","terms of use",{"text":504,"config":505},"Privacy statement",{"href":506,"dataGaName":507,"dataGaLocation":449},"/privacy/","privacy statement",{"text":509,"config":510},"Cookie preferences",{"dataGaName":511,"dataGaLocation":449,"id":512,"isOneTrustButton":16},"cookie preferences","ot-sdk-btn",{"title":72,"links":514,"subMenu":523},[515,519],{"text":516,"config":517},"DevSecOps platform",{"href":54,"dataGaName":518,"dataGaLocation":449},"devsecops platform",{"text":520,"config":521},"AI-Assisted Development",{"href":61,"dataGaName":522,"dataGaLocation":449},"ai-assisted development",[524],{"title":525,"links":526},"Topics",[527,532,537,542,547,552,557,562],{"text":528,"config":529},"CICD",{"href":530,"dataGaName":531,"dataGaLocation":449},"/topics/ci-cd/","cicd",{"text":533,"config":534},"GitOps",{"href":535,"dataGaName":536,"dataGaLocation":449},"/topics/gitops/","gitops",{"text":538,"config":539},"DevOps",{"href":540,"dataGaName":541,"dataGaLocation":449},"/topics/devops/","devops",{"text":543,"config":544},"Version Control",{"href":545,"dataGaName":546,"dataGaLocation":449},"/topics/version-control/","version control",{"text":548,"config":549},"DevSecOps",{"href":550,"dataGaName":551,"dataGaLocation":449},"/topics/devsecops/","devsecops",{"text":553,"config":554},"Cloud Native",{"href":555,"dataGaName":556,"dataGaLocation":449},"/topics/cloud-native/","cloud native",{"text":558,"config":559},"AI for Coding",{"href":560,"dataGaName":561,"dataGaLocation":449},"/topics/devops/ai-for-coding/","ai for coding",{"text":563,"config":564},"Agentic AI",{"href":565,"dataGaName":566,"dataGaLocation":449},"/topics/agentic-ai/","agentic ai",{"title":568,"links":569},"Solutions",[570,572,574,579,583,586,590,593,595,598,601,606],{"text":114,"config":571},{"href":109,"dataGaName":114,"dataGaLocation":449},{"text":103,"config":573},{"href":86,"dataGaName":87,"dataGaLocation":449},{"text":575,"config":576},"Agile development",{"href":577,"dataGaName":578,"dataGaLocation":449},"/solutions/agile-delivery/","agile delivery",{"text":580,"config":581},"SCM",{"href":99,"dataGaName":582,"dataGaLocation":449},"source code management",{"text":528,"config":584},{"href":92,"dataGaName":585,"dataGaLocation":449},"continuous integration & delivery",{"text":587,"config":588},"Value stream management",{"href":142,"dataGaName":589,"dataGaLocation":449},"value stream management",{"text":533,"config":591},{"href":592,"dataGaName":536,"dataGaLocation":449},"/solutions/gitops/",{"text":152,"config":594},{"href":154,"dataGaName":155,"dataGaLocation":449},{"text":596,"config":597},"Small business",{"href":159,"dataGaName":160,"dataGaLocation":449},{"text":599,"config":600},"Public sector",{"href":164,"dataGaName":165,"dataGaLocation":449},{"text":602,"config":603},"Education",{"href":604,"dataGaName":605,"dataGaLocation":449},"/solutions/education/","education",{"text":607,"config":608},"Financial services",{"href":609,"dataGaName":610,"dataGaLocation":449},"/solutions/finance/","financial services",{"title":172,"links":612},[613,615,617,619,622,624,626,628,630,632,634,636],{"text":184,"config":614},{"href":186,"dataGaName":187,"dataGaLocation":449},{"text":189,"config":616},{"href":191,"dataGaName":192,"dataGaLocation":449},{"text":194,"config":618},{"href":196,"dataGaName":197,"dataGaLocation":449},{"text":199,"config":620},{"href":201,"dataGaName":621,"dataGaLocation":449},"docs",{"text":222,"config":623},{"href":224,"dataGaName":225,"dataGaLocation":449},{"text":217,"config":625},{"href":219,"dataGaName":220,"dataGaLocation":449},{"text":227,"config":627},{"href":229,"dataGaName":230,"dataGaLocation":449},{"text":235,"config":629},{"href":237,"dataGaName":238,"dataGaLocation":449},{"text":240,"config":631},{"href":242,"dataGaName":243,"dataGaLocation":449},{"text":245,"config":633},{"href":247,"dataGaName":248,"dataGaLocation":449},{"text":250,"config":635},{"href":252,"dataGaName":253,"dataGaLocation":449},{"text":255,"config":637},{"href":257,"dataGaName":258,"dataGaLocation":449},{"title":273,"links":639},[640,642,644,646,648,650,652,656,661,663,665,667],{"text":280,"config":641},{"href":282,"dataGaName":275,"dataGaLocation":449},{"text":285,"config":643},{"href":287,"dataGaName":288,"dataGaLocation":449},{"text":293,"config":645},{"href":295,"dataGaName":296,"dataGaLocation":449},{"text":298,"config":647},{"href":300,"dataGaName":301,"dataGaLocation":449},{"text":303,"config":649},{"href":305,"dataGaName":306,"dataGaLocation":449},{"text":308,"config":651},{"href":310,"dataGaName":311,"dataGaLocation":449},{"text":653,"config":654},"Sustainability",{"href":655,"dataGaName":653,"dataGaLocation":449},"/sustainability/",{"text":657,"config":658},"Diversity, inclusion and belonging (DIB)",{"href":659,"dataGaName":660,"dataGaLocation":449},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":313,"config":662},{"href":315,"dataGaName":316,"dataGaLocation":449},{"text":323,"config":664},{"href":325,"dataGaName":326,"dataGaLocation":449},{"text":328,"config":666},{"href":330,"dataGaName":331,"dataGaLocation":449},{"text":668,"config":669},"Modern Slavery Transparency Statement",{"href":670,"dataGaName":671,"dataGaLocation":449},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":673},[674,677,680],{"text":675,"config":676},"Terms",{"href":501,"dataGaName":502,"dataGaLocation":449},{"text":678,"config":679},"Cookies",{"dataGaName":511,"dataGaLocation":449,"id":512,"isOneTrustButton":16},{"text":681,"config":682},"Privacy",{"href":506,"dataGaName":507,"dataGaLocation":449},[684,694,704,713,722,730,738,747,756,765,774,782,791,799,808,817,826,835,844,852,859,867,876,884,892,901,909,917,925],{"content":685,"config":692},{"title":686,"heroImage":687,"category":688,"description":689,"authors":690,"date":691},"Set expectations, manage better","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683955/Blog/Hero%20Images/set-expectations-manage-better.jpg","culture","Creating overhead with meetings and reviews is a risk to the efficiency and remote culture of organisations and should be actively avoided for an organisation to succeed remote at scale.",[10],"2017-01-03",{"slug":693,"externalUrl":-1},"set-expectations",{"content":695,"config":702},{"title":696,"heroImage":697,"category":698,"description":699,"authors":700,"date":701},"Feature Highlight: Subscribe to Label","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684195/Blog/Hero%20Images/ios-development.jpg","insights","In GitLab 8.6 and up, you can subscribe to a label. Whenever an issue is tagged with the label you subscribed to, you will get a notification.",[10],"2016-04-13",{"slug":703,"externalUrl":-1},"feature-highlight-subscribe-to-label",{"content":705,"config":711},{"title":706,"heroImage":707,"category":698,"description":708,"authors":709,"date":710},"Commits Do Not Equal Productivity","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684616/Blog/Hero%20Images/racing.png","In this post we'll consider some ways people evaluate or represent productivity, and I ask for your thoughts on what you track and what you think matters.",[10],"2016-03-08",{"slug":712,"externalUrl":-1},"commits-do-not-equal-productivity",{"content":714,"config":720},{"title":715,"heroImage":716,"category":688,"description":717,"authors":718,"date":719},"Making GitLab Better for Large Open Source Projects","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","Here we would like to share our thoughts about these issues and what we’re planning to do to make things better with GitLab.",[10],"2016-01-15",{"slug":721,"externalUrl":-1},"making-gitlab-better-for-large-open-source-projects",{"content":723,"config":728},{"title":724,"heroImage":716,"category":275,"description":725,"authors":726,"date":727},"Feature Highlight: WIP","At GitLab we'll tell you to make small merge requests, review and merge often. But in the real world, you have to build a complex feature that requires weeks and thousands of changes.",[10],"2016-01-08",{"slug":729,"externalUrl":-1},"feature-highlight-wip",{"content":731,"config":736},{"title":732,"heroImage":716,"category":275,"description":733,"authors":734,"date":735},"Improving Open Development for Everyone","We want to give everyone that loves GitLab the opportunity to help shape its progress and be empowered to do this effortlessly.",[10],"2015-12-16",{"slug":737,"externalUrl":-1},"improving-open-development-for-everyone",{"content":739,"config":745},{"title":740,"heroImage":741,"category":688,"description":742,"authors":743,"date":744},"Remote Agile at GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684484/Blog/Hero%20Images/agile.jpg","This is a start in describing the workflow that we've established over the past year at GitLab.",[10],"2015-09-14",{"slug":746,"externalUrl":-1},"remote-agile-at-gitlab",{"content":748,"config":754},{"title":749,"heroImage":750,"category":698,"description":751,"authors":752,"date":753},"6 reasons why pre is better than post production code review","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670664/Blog/Hero%20Images/code.png","Six good reasons why you should review code before it's being deployed/ released/ merged.",[10],"2015-08-05",{"slug":755,"externalUrl":-1},"6-reasons-why-pre-is-better-than-post-production-code-review",{"content":757,"config":763},{"title":758,"heroImage":759,"category":688,"description":760,"authors":761,"date":762},"Almost Everything We Do Will Be Open","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684463/Blog/Hero%20Images/open.jpg","We're announcing a move from doing the majority of our development work internally, to almost exclusively working in public issue trackers on GitLab.com.",[10],"2015-08-03",{"slug":764,"externalUrl":-1},"almost-everything-we-do-is-now-open",{"content":766,"config":772},{"title":767,"heroImage":716,"category":768,"description":769,"authors":770,"date":771},"Feature Highlight: Merge Request Approvals","engineering","If you want keep code quality high, it is important that you use a code review process. In GitLab, the best way to do this is by using Merge Requests. Read how to approve merge requests here.",[10],"2015-07-29",{"slug":773,"externalUrl":-1},"feature-highlight-merge-request-approvals",{"content":775,"config":780},{"title":776,"heroImage":716,"category":768,"description":777,"authors":778,"date":779},"Implementing .gitlab-ci.yml","We replacing GitLab CI jobs with a .gitlab-ci.yml and wanted to share the details of that process with you and would love to hear what you think.",[10],"2015-06-08",{"slug":781,"externalUrl":-1},"implementing-gitlab-ci-dot-yml",{"content":783,"config":789},{"title":784,"heroImage":785,"category":275,"description":786,"authors":787,"date":788},"Why we're replacing GitLab CI jobs with .gitlab-ci.yml","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684407/Blog/Hero%20Images/ci-yml.jpg","Every single GitLab installation ships with a powerful continuous integration tool: GitLab CI. Read how to enable it in 2 minutes.",[10],"2015-05-06",{"slug":790,"externalUrl":-1},"why-were-replacing-gitlab-ci-jobs-with-gitlab-ci-dot-yml",{"content":792,"config":797},{"title":793,"heroImage":716,"category":275,"description":794,"authors":795,"date":796},"GitLab on Debian 8","From now on, GitLab Omnibus packages for Debian 8 will be available with every release. Learn more here!",[10],"2015-05-01",{"slug":798,"externalUrl":-1},"gitlab-on-debian-8",{"content":800,"config":806},{"title":801,"heroImage":802,"category":275,"description":803,"authors":804,"date":805},"Bitbucket vs. GitLab.com","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684393/Blog/Hero%20Images/bb.jpg","Considering a move from Bitbucket to GitLab? We've compiled a list of our advantages for you to view.",[10],"2015-04-15",{"slug":807,"externalUrl":-1},"bitbucket-vs-gitlab-com",{"content":809,"config":815},{"title":810,"heroImage":811,"category":275,"description":812,"authors":813,"date":814},"GitLab AMI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684381/Blog/Hero%20Images/mac.jpg","We're happy to announce that GitLab now has Amazon Web Services Machines Images (AMIs) available for GitLab CE.",[10],"2015-03-11",{"slug":816,"externalUrl":-1},"gitlab-ami",{"content":818,"config":824},{"title":819,"heroImage":820,"category":768,"description":821,"authors":822,"date":823},"How to install GitLab on your own domain","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684373/Blog/Hero%20Images/installing.jpg","Want to get your first own GitLab instance running? Use these easy to follow instructions and you will be active in no time!",[10],"2015-02-24",{"slug":825,"externalUrl":-1},"how-to-install-gitlab",{"content":827,"config":833},{"title":828,"heroImage":829,"category":698,"description":830,"authors":831,"date":832},"7 Git personalities, which one are you?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684330/Blog/Hero%20Images/git_personalities.jpg","Working on an open source projects we receive many merge and pull requests and see a number of different git personalities. Do you recognize yourself?",[10],"2015-01-27",{"slug":834,"externalUrl":-1},"7-git-personalities",{"content":836,"config":842},{"title":837,"heroImage":838,"category":275,"description":839,"authors":840,"date":841},"The hardware that powers 100,000 git repositories","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684271/Blog/Hero%20Images/hardware.jpg","Want to host your public and private repositories somewhere for free? You can on GitLab.com. Learn more here!",[10],"2015-01-03",{"slug":843,"externalUrl":-1},"the-hardware-that-powers-100k-git-repos",{"content":845,"config":850},{"title":846,"heroImage":716,"category":275,"description":847,"authors":848,"date":849},"GitLab got bit: MySQL fails at Rails migrations that work in PostgreSQL","One day after releasing GitLab 7.6 we had to release a patch. This is how we got bit by a failing migration and why it was our own fault.",[10],"2014-12-30",{"slug":851,"externalUrl":-1},"gitlab-got-bit-mysql-fails-at-rails-migrations-that-work-in-postgresql",{"content":853,"config":857},{"title":854,"heroImage":716,"category":275,"description":854,"authors":855,"date":856},"3 reasons why GitLab is not vulnerable to the Gollum vulnerability and 1 tip",[10],"2014-12-09",{"slug":858,"externalUrl":-1},"three-reasons-gitlab-is-not-vulnerable-to-the-gollum-vulnerability",{"content":860,"config":865},{"title":861,"heroImage":716,"category":768,"description":862,"authors":863,"date":864},"How you can send your logs ballistically using UDP","With GitLab Enterprise Edition 7.1 and up Omnibus packages, we introduced UDP log shipping.",[10],"2014-12-08",{"slug":866,"externalUrl":-1},"ship-log-data-off-site-using-udp",{"content":868,"config":874},{"title":869,"heroImage":870,"category":698,"description":871,"authors":872,"date":873},"How GitLab Permissions and Protected Branches Keep Your Code Safe","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684249/Blog/Hero%20Images/how-permissions-and-protected-branches-keep-your-code-safe.jpg","At GitLab we believe that by preventing force pushes and by stimulating code review practices, mistakes can be easily avoided and code quality will improve.",[10],"2014-11-26",{"slug":875,"externalUrl":-1},"keeping-your-code-protected",{"content":877,"config":882},{"title":878,"heroImage":716,"category":688,"description":879,"authors":880,"date":881},"Happiness at GitLab","People are happy at GitLab. Happy people are more productive.",[10],"2014-10-09",{"slug":883,"externalUrl":-1},"happiness-at-gitlab",{"content":885,"config":890},{"title":886,"heroImage":716,"category":698,"description":887,"authors":888,"date":889},"Feature highlight: Git Hooks in GitLab Enterprise Edition","Sometimes you need additional control over pushes to your repository. For each project you can have unique Git Hooks.",[10],"2014-08-25",{"slug":891,"externalUrl":-1},"feature-highlight-git-hooks",{"content":893,"config":899},{"title":894,"heroImage":716,"category":275,"description":895,"authors":896,"date":898},"Feature Highlight: LDAP Integration","In GitLab Enterprise Edition it is possible to sync your GitLab groups with your LDAP groups, making it super easy to manage access to projects.",[897,10],"Jacob Vosmaer","2014-07-10",{"slug":900,"externalUrl":-1},"feature-highlight-ldap-sync",{"content":902,"config":907},{"title":903,"heroImage":716,"category":688,"description":904,"authors":905,"date":906},"How GitLab works remotely","GitLab is a fully remote company, meaning that all of us work 100% of our time from home or any other place in the world.",[10],"2014-07-03",{"slug":908,"externalUrl":-1},"how-gitlab-works-remotely",{"content":910,"config":915},{"title":911,"heroImage":716,"category":698,"description":912,"authors":913,"date":914},"GitLab Feature Highlight: Groups","GitLab groups allow you to group projects into directories and give users access to several projects at once.",[897,10],"2014-06-30",{"slug":916,"externalUrl":-1},"feature-highlight-groups",{"content":918,"config":923},{"title":919,"heroImage":716,"category":275,"description":920,"authors":921,"date":922},"Adding a SSH key to GitLab Screencast","In this screencast we show you that adding a SSH key to GitLab is very simple, allowing everyone to push and pull to GitLab without your username and password every time.",[10],"2014-03-04",{"slug":924,"externalUrl":-1},"add-ssh-key-screencast",{"content":926,"config":930},{"title":927,"heroImage":716,"category":698,"description":928,"authors":929,"date":922},"Issues and Merge Requests in GitLab Screencast","We are excited to show you some of the possibilities in our new screencast.",[10],{"slug":931,"externalUrl":-1},"gitlab-flow-screencast",1777309959635]