index.html.haml 8.4 KB
layout: default
title: GitLab Continuous Integration
suppress_header: true
  - gitlab-feature-landing-page.css
        %h1 GitLab Continuous Integration
        %h3#ci-subt GitLab has integrated CI and CD to test, build and deploy your code
          %h2 What Are The Advantages?
              %b Integrated:
              GitLab CI is part of GitLab. You can use it for free on
              %a{href: ""}
              %b Easy to learn:
              See our
              %a{href: ""} Quick Start
              %b Beautiful:
              GitLab CI offers the same great experience as GitLab. Familiar, easy to use, and beautiful.
              %b Scalable:
              Tests run distributed on separate machines of which you can add as many as you want
              %b Faster results:
              Each build can be split in multiple jobs that run in parallel on multiple machines
              %b Continuous Delivery (CD):
              multiple stages, manual deploys,
              %a{href: ""} environments,
              %a{href: ""} variables
              %b Open source:
              CI is included with both the open source GitLab Community Edition and the proprietary GitLab Enterprise Edition
          %h2 Features
              %b Multi-platform:
              you can execute builds on Unix, Windows, OSX, and any other platform that supports Go.
              %b Multi-language:
              build scripts are command line driven and work with Java, PHP, Ruby, C, and any other language.
              %b Stable:
              your builds run on a different machine than GitLab.
              %b Parallel builds:
              GitLab CI splits builds over multiple machines, for fast execution.
              %b Realtime logging:
              a link in the merge request takes you to the current build log that updates dynamically.
              %b Versioned tests:
              %a{href: ""} .gitlab-ci.yml file
              that contains your tests, allowing everyone to contribute changes and ensuring every branch gets the tests it needs.
              %b Pipeline:
              you can define multiple jobs per stage and you can
              = succeed "." do
                %a{href: ""} trigger other builds
              %b Autoscaling:
              you can
              %a{href: ""} automatically spin up and down VM's
              to make sure your builds get processed immediately and minimize costs.
              %b Build artifacts:
              you can upload binaries and other
              %a{href: ""} build artifacts
              to GitLab and browse and download them.
              %b Test locally
              there are
              %a{href: ""} multiple executors
              and you can
              = succeed "." do
                %a{href: ""} reproduce tests locally
              %b Docker support:
              you can easily spin up other Docker containers as a
              %a{href: ""} service
              as part of the test and
              = succeed "." do
                %a{href: ""} build docker images
          %h2 Fully integrated with GitLab
              %b Fully integrated
              with GitLab.
              %b Quick project setup:
              Add projects with a single click, all hooks are setup automatically via the GitLab API.
              %b Merge request integration:
              See the status of each build within the Merge Request in GitLab.
          %img.gitlab-raccoon-dog-image.hidden-xs{alt: "", src: "/images/logo.png"}/
          %h2 Architecture
              %b GitLab CI
              is a part of GitLab, a web application with an API
              that stores its state in a database.
              It manages projects/builds and provides a nice user interface,
              besides all the features of GitLab.
              %b GitLab Runner
              is an application which processes builds. It
              can be deployed separately and works with GitLab CI through an API.
              In order to run tests, you need at least one
              %b GitLab
              and one
              = succeed "." do
                %b GitLab Runner
          %img.gitlab-arch.hidden-xs{alt: "", src: "/images/ci/arch-1.jpg"}/
          %h2#gitlab-runner GitLab Runner
            To perform the actual build, you need to install GitLab Runner which
            is written in Go.
            It can run on any platform for which you can build Go binaries,
            including Linux, OSX, Windows, FreeBSD and Docker.
            It can test any programming language including .Net, Java, Python, C, PHP and others.
            GitLab Runner has
            %a{href: ""} many features
            = succeed "," do
              %a{href: ""} autoscaling
            %a{href: ""} Install GitLab Runner
          %h2 Help and More Information
              Please see
              %a{href: ""} Getting help for GitLab
              if you have questions.
              Propose and discuss new features of CI in the
              %a{href: ""} GitLab CE issue tracker
              and tag them with the 'CI' label.
              %a{href: ""} documentation
              can be found in the doc for CE.
            %li Since version 8.0, GitLab CE/EE and GitLab CI are a single product.
              See the presentation on
              %a{href: ""} Why CI/CD?
      Choose the version of GitLab that is best for you
      Host GitLab on your servers or let us host it for you{href: "/products"}
      Explore our products
      %a.hidden-sm.hidden-xs{href: "/comparison"}
        Compare GitLab to other tools{href: "/products"}

= partial "includes/features/gitlab-ee-trial"