gitlab-org--gitlab-foss/doc/ci
Lin Jen-Shin 33a5157ad4 Merge remote-tracking branch 'upstream/master' into 32815--Add-Custom-CI-Config-Path
* upstream/master: (149 commits)
  Revert change to design. Go back to scrollable page
  Fixes the column widths for the new navigation options in settings
  Migrate #submodule_url_for to Gitaly
  Add test example for external commit status retries
  Fix invalid Rails.logger call in lib/gitlab/health_checks/fs_shards_check.rb
  Fix build for !12300.
  Log rescued exceptions to Sentry
  Fix issues with non-UTF8 filenames by always fixing the encoding of tree and blob paths
  Revert "Merge branch 'revert-12499' into 'master'"
  Prevent accidental deletion of protected MR source branch by repeating checks before actual deletion
  Improve the overall UX for the new monitoring dashboard
  Document that GitLab 9.3 requires the TRIGGER permission on MySQL
  Instrument Unicorn with Ruby exporter
  Remove group modal like remove project modal. Closes #33130
  Update prometheus client gem
  Enables the option in user preferences to turn on the new navigation
  Add Jasmine tests for `OAuthRememberMe`
  Simplify authentication logic in the v4 users API for !12445.
  Use stub_application_setting when testing ApplicationHelper#support_url
  wait_for_requests is not needed when AJAX is not in play
  ...
2017-07-05 22:05:39 +08:00
..
api Add "API" to all respective headings (h1s) 2017-05-18 08:49:03 +00:00
autodeploy Update Auto Deploy documentation 2017-04-21 22:47:27 +00:00
build_artifacts Fix most of broken docs links 2017-02-15 19:27:40 +01:00
docker Refactor and copyedit "Using Docker images" docs 2017-07-03 15:26:05 +02:00
examples Change composer update to install to follow PHP/composer best practice 2017-06-22 21:37:01 +00:00
img Move environment monitoring to environments doc 2017-05-21 20:20:48 +02:00
permissions Move CI permissions to permissions.md 2016-07-12 17:52:48 +03:00
quick_start Replace 'Settings ➔ CI/CD Pipelines' with 'Settings ➔ Pipelines' in docs 2017-06-23 22:59:35 +02:00
review_apps Futher rename the CI variables 2017-03-16 08:49:01 +01:00
runners Clarify job choosing algorithm examples (the language used was a bit hard to understand) 2017-06-15 19:53:44 +00:00
services Rename builds to jobs in docs 2017-02-15 12:12:35 +01:00
ssh_keys Update README.md to reflect where "Secret variables" are located 2017-06-28 22:47:52 +00:00
triggers Refactor CI triggers docs 2017-06-08 13:56:19 +02:00
variables Merge remote-tracking branch 'upstream/master' into 32815--Add-Custom-CI-Config-Path 2017-07-05 22:05:39 +08:00
yaml Add all sources as special keywords for only and except 2017-06-08 00:34:58 +09:00
enable_or_disable_ci.md Rename builds to jobs in docs 2017-02-15 12:12:35 +01:00
environments.md Pass external_url from environment if job doesn't have one 2017-05-25 23:08:11 +08:00
git_submodules.md Rename builds to jobs in docs 2017-02-15 12:12:35 +01:00
pipelines.md Document sorting of jobs in pipelines graph 2017-04-28 18:30:06 +02:00
README.md Merge branch 'dz-rename-pipelines-settings-tab' into 'master' 2017-05-22 14:17:48 +00:00

GitLab Continuous Integration (GitLab CI)

Pipeline graph

The benefits of Continuous Integration are huge when automation plays an integral part of your workflow. GitLab comes with built-in Continuous Integration, Continuous Deployment, and Continuous Delivery support to build, test, and deploy your application.

Here's some info we've gathered to get you started.

Getting started

The first steps towards your GitLab CI journey.

Reference guides

Once you get familiar with the getting started guides, you'll find yourself digging into specific reference guides.

  • .gitlab-ci.yml reference - Learn all about the ins and outs of .gitlab-ci.yml definitions
  • CI Variables - Learn how to use variables defined in your .gitlab-ci.yml or secured ones defined in your project's settings
  • The permissions model - Learn about the access levels a user can have for performing certain CI actions

GitLab CI + Docker

Leverage the power of Docker to run your CI pipelines.

Advanced use

Once you get familiar with the basics of GitLab CI, it's time to dive in and learn how to leverage its potential even more.

Review Apps

GitLab CI for GitLab Pages

See the topic on GitLab Pages.

Special configuration

You can change the default behavior of GitLab CI in your whole GitLab instance as well as in each project.

Examples

Note: A collection of .gitlab-ci.yml files is maintained at the GitLab CI Yml project. If your favorite programming language or framework is missing we would love your help by sending a merge request with a .gitlab-ci.yml.

Here is an collection of tutorials and guides on setting up your CI pipeline.

Integrations

Why GitLab CI?

Breaking changes