Commit 56c3b286 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis
Browse files

Refactor CI index page

parent 391476c2a2a1
# GitLab CI Documentation
# GitLab Continuous Integration
## CI User documentation
![CI/CD pipeline graph](img/cicd_pipeline_infograph.png)
The benefits of Continuous Integration are huge when automation plays an
integral part of your workflow. GitLab comes with integrated Continuous
Integration (CI) and Continuous Delivery (CD) to test, build and deploy your
Here's some info we've gathered to get you started.
## Getting started
- [Getting started with GitLab CI](quick_start/
- [CI examples for various languages](examples/
- [Learn how to enable or disable GitLab CI](
- [Configure a Runner, the application that runs your jobs](runners/
- [Pipelines and jobs](
- [Environments and deployments](
- [Learn how `.gitlab-ci.yml` works](yaml/
- [Configure a Runner, the application that runs your jobs](runners/
- [Use Docker images with GitLab Runner](docker/
- [Use CI to build Docker images](docker/
- [Job artifacts](../user/project/pipelines/
- **Using Docker**
- [Use Docker images with GitLab Runner](docker/
- [Use CI to build Docker images](docker/
- [CI services (linked Docker containers)](services/
- **Blog posts**
- [Getting started with GitLab and GitLab CI](
- [GitLab CI: Run jobs sequentially, in parallel or build a custom pipeline](
- [Continuous Integration, Delivery, and Deployment with GitLab](
- [CI deployments and environments](
- **Videos**
- [Getting started with CI in GitLab](
## Reference guides
Once you get familiar with the getting started guides, you'll find yourself
digging into specific reference guides.
- [`.gitlab-ci.yml` reference](yaml/
- **The permissions model**
- [User permissions](../user/
- [Jobs permissions](../user/
- [CI Variables](variables/ - Learn how to use variables defined in
your `.gitlab-ci.yml` or secured ones defined in your project's settings
- [Use SSH keys in your build environment](ssh_keys/
- [Trigger jobs through the API](triggers/
- [Job artifacts](../user/project/pipelines/
- [User permissions](../user/
- [Jobs permissions](../user/
- [API](../api/ci/
- [CI services (linked docker containers)](services/
- [CI/CD pipelines settings](../user/project/pipelines/
## Advanced use
- [Git submodules](
- [Review Apps](review_apps/
- [Git submodules]( Using Git submodules in your CI jobs
- [Auto deploy](autodeploy/
- [Use SSH keys in your build environment](ssh_keys/
- [Trigger jobs through the GitLab API](triggers/
- [Using GitLab CI with GitLab Pages](../user/project/pages/
## Special project configuration
- [CI/CD pipelines settings](../user/project/pipelines/
- [Learn how to enable or disable GitLab CI](
## Examples
A collection of `.gitlab-ci.yml` files is maintained at the
[GitLab CI Yml project][gitlab-ci-templates].
If your favorite programming language or framework are 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:
- **Languages and frameworks**
- [Testing a PHP application](examples/
- [Test and deploy a Ruby application to Heroku](examples/
- [Test and deploy a Python application to Heroku](examples/
- [Test a Clojure application](examples/
- [Test a Scala application](examples/
- [Test a Phoenix application](examples/
- [Run PHP Composer & NPM scripts then deploy them to a staging server](examples/deployment/
- **Blog posts**
- [Automated Debian packaging](
- [Spring boot application with GitLab CI and Kubernetes](
- [Setting up CI for iOS projects](
- [Using GitLab CI for iOS projects](
- [Setting up GitLab CI for Android projects](
- [Building a new GitLab Docs site with Nanoc, GitLab CI, and GitLab Pages](
- [CI/CD with GitLab in action](
- [Building an Elixir Release into a Docker image using GitLab CI](
- **Miscellaneous**
- [Using `dpl` as deployment tool](examples/deployment/
- [Repositories with examples for various languages](
- [The .gitlab-ci.yml file for GitLab itself](
- [Example project that shows how to use Review Apps](
## Breaking changes
- [CI variables renaming](variables/ Read about the
- [CI variables renaming for GitLab 9.0](variables/ Read about the
deprecated CI variables and what you should use for GitLab 9.0+.
- [New CI job permissions model](../user/project/
Read about what changed in GitLab 8.12 and how that affects your jobs.
There's a new way to access your Git submodules and LFS objects in jobs.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment