Commit addbcd8d authored by Evan Read's avatar Evan Read Committed by Mike Lewis

Adds new resources for CI to the documentation suite

Also refactors and combines resources and examples.
parent dfd9e5bc
...@@ -84,8 +84,12 @@ or dive right into the [CI/CD step-by-step guide for Pages](../user/project/page ...@@ -84,8 +84,12 @@ or dive right into the [CI/CD step-by-step guide for Pages](../user/project/page
## Examples ## Examples
Check out the [GitLab CI/CD examples](examples/README.md) for a collection of tutorials and guides on GitLab provides examples of configuring GitLab CI/CD in the form of:
setting up your CI/CD pipeline for various programming languages, frameworks, and operating systems.
- A collection of [examples and other resources](examples/README.md).
- Example projects, available at the [`gitlab-examples`](https://gitlab.com/gitlab-examples) group. For example, see:
- [`multi-project-pipelines`](https://gitlab.com/gitlab-examples/multi-project-pipelines) for examples of implementing multi-project-pipelines.
- [`review-apps-nginx`](https://gitlab.com/gitlab-examples/review-apps-nginx/) provides an example of using Review Apps.
## Administration ## Administration
...@@ -113,55 +117,10 @@ Related topics include: ...@@ -113,55 +117,10 @@ Related topics include:
- [Docker integration](docker/README.md). - [Docker integration](docker/README.md).
- [CI services (linked Docker containers)](services/README.md). - [CI services (linked Docker containers)](services/README.md).
- [Setting up GitLab Runner For Continuous Integration](https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/) (article).
## Further resources
This section provides further resources to help you get familiar with GitLab CI/CD.
### Articles
The following table provides a list of articles about CI/CD, sorted in reverse chronological order of publish date:
| Publish Date | Article |
|:-------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2017-07-13 | [Making CI easier with GitLab](https://about.gitlab.com/2017/07/13/making-ci-easier-with-gitlab/). |
| 2017-05-22 | [Fast and natural continuous integration with GitLab CI](https://about.gitlab.com/2017/05/22/fast-and-natural-continuous-integration-with-gitlab-ci/). |
| 2016-11-22 | [Introducing Review Apps](https://about.gitlab.com/2016/11/22/introducing-review-apps/). |
| 2016-08-26 | [GitLab CI: Deployment & Environments](https://about.gitlab.com/2016/08/26/ci-deployment-and-environments/). |
| 2016-08-05 | [Continuous Integration, Delivery, and Deployment with GitLab](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/). |
| 2016-07-29 | [GitLab CI: Run jobs sequentially, in parallel or build a custom pipeline](https://about.gitlab.com/2016/07/29/the-basics-of-gitlab-ci/). |
| 2016-06-09 | [Continuous Delivery with GitLab and Convox](https://about.gitlab.com/2016/06/09/continuous-delivery-with-gitlab-and-convox/) |
| 2016-05-23 | [GitLab Container Registry](https://about.gitlab.com/2016/05/23/gitlab-container-registry/). |
| 2016-05-05 | [Getting Started with GitLab and Shippable Continuous Integration](https://about.gitlab.com/2016/05/05/getting-started-gitlab-and-shippable/) |
| 2016-04-19 | [GitLab Partners with DigitalOcean to make Continuous Integration faster, safer, and more affordable](https://about.gitlab.com/2016/04/19/gitlab-partners-with-digitalocean-to-make-continuous-integration-faster-safer-and-more-affordable/) |
| 2015-03-01 | [Setting up GitLab Runner For Continuous Integration](https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/). |
| 2015-12-14 | [Getting started with GitLab and GitLab CI](https://about.gitlab.com/2015/12/14/getting-started-with-gitlab-and-gitlab-ci/). |
### Videos
The following table provides a list of videos about CI/CD, sorted in reverse chronological order of publish date:
| Publish Date | Video |
|:-------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2017-07-17 | [GitLab CI/CD Deep Dive](https://youtu.be/pBe4t1CD8Fc?t=195). |
| 2017-03-13 | [Demo: CI/CD with GitLab in action](https://about.gitlab.com/2017/03/13/ci-cd-demo/). |
| 2016-04-20 | [Webcast Recording and Slides: Getting started with CI in GitLab](https://about.gitlab.com/2016/04/20/webcast-recording-and-slides-introduction-to-ci-in-gitlab/). |
In addition, the following third-party videos are available:
- [Intégration continue avec GitLab (September 2016)](https://www.youtube.com/watch?v=URcMBXjIr24&t=13s).
- [GitLab CI for Minecraft Plugins (July 2016)](https://www.youtube.com/watch?v=Z4pcI9F8yf8).
### Example Projects
[`review-apps-nginx`](https://gitlab.com/gitlab-examples/review-apps-nginx/) provides an example of using Review Apps.
Other example projects are available at the [`gitlab-examples`](https://gitlab.com/gitlab-examples) group.
### Why GitLab CI/CD? ## Why GitLab CI/CD?
The following articles explain reasons why you might use GitLab CI/CD for your CI/CD infrastructure: The following articles explain reasons to use GitLab CI/CD for your CI/CD infrastructure:
- [Why we chose GitLab CI for our CI/CD solution](https://about.gitlab.com/2016/10/17/gitlab-ci-oohlala/). - [Why we chose GitLab CI for our CI/CD solution](https://about.gitlab.com/2016/10/17/gitlab-ci-oohlala/).
- [Building our web-app on GitLab CI](https://about.gitlab.com/2016/07/22/building-our-web-app-on-gitlab-ci/). - [Building our web-app on GitLab CI](https://about.gitlab.com/2016/07/22/building-our-web-app-on-gitlab-ci/).
......
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
redirect_from: 'https://docs.gitlab.com/ee/articles/artifactory_and_gitlab/index.html' redirect_from: 'https://docs.gitlab.com/ee/articles/artifactory_and_gitlab/index.html'
author: Fabio Busatto author: Fabio Busatto
author_gitlab: bikebilly author_gitlab: bikebilly
level: intermediary level: intermediate
article_type: tutorial article_type: tutorial
date: 2017-08-15 date: 2017-08-15
--- ---
...@@ -11,7 +11,7 @@ date: 2017-08-15 ...@@ -11,7 +11,7 @@ date: 2017-08-15
## Introduction ## Introduction
In this article, we will show how you can leverage the power of [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/) In this article, we will show how you can leverage the power of [GitLab CI/CD](https://about.gitlab.com/product/continuous-integration/)
to build a [Maven](https://maven.apache.org/) project, deploy it to [Artifactory](https://www.jfrog.com/artifactory/), and then use it from another Maven application as a dependency. to build a [Maven](https://maven.apache.org/) project, deploy it to [Artifactory](https://www.jfrog.com/artifactory/), and then use it from another Maven application as a dependency.
You'll create two different projects: You'll create two different projects:
...@@ -19,7 +19,7 @@ You'll create two different projects: ...@@ -19,7 +19,7 @@ You'll create two different projects:
- `simple-maven-dep`: the app built and deployed to Artifactory (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-dep>) - `simple-maven-dep`: the app built and deployed to Artifactory (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-dep>)
- `simple-maven-app`: the app using the previous one as a dependency (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-app>) - `simple-maven-app`: the app using the previous one as a dependency (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-app>)
We assume that you already have a GitLab account on [GitLab.com](https://gitlab.com/), and that you know the basic usage of Git and [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/). We assume that you already have a GitLab account on [GitLab.com](https://gitlab.com/), and that you know the basic usage of Git and [GitLab CI/CD](https://about.gitlab.com/product/continuous-integration/).
We also assume that an Artifactory instance is available and reachable from the internet, and that you have valid credentials to deploy on it. We also assume that an Artifactory instance is available and reachable from the internet, and that you have valid credentials to deploy on it.
## Create the simple Maven dependency ## Create the simple Maven dependency
...@@ -102,7 +102,7 @@ parameter in `.gitlab-ci.yml` to use the custom location instead of the default ...@@ -102,7 +102,7 @@ parameter in `.gitlab-ci.yml` to use the custom location instead of the default
### Configure GitLab CI/CD for `simple-maven-dep` ### Configure GitLab CI/CD for `simple-maven-dep`
Now it's time we set up [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/) to automatically build, test and deploy the dependency! Now it's time we set up [GitLab CI/CD](https://about.gitlab.com/product/continuous-integration/) to automatically build, test and deploy the dependency!
GitLab CI/CD uses a file in the root of the repo, named `.gitlab-ci.yml`, to read the definitions for jobs GitLab CI/CD uses a file in the root of the repo, named `.gitlab-ci.yml`, to read the definitions for jobs
that will be executed by the configured GitLab Runners. You can read more about this file in the [GitLab Documentation](https://docs.gitlab.com/ee/ci/yaml/). that will be executed by the configured GitLab Runners. You can read more about this file in the [GitLab Documentation](https://docs.gitlab.com/ee/ci/yaml/).
...@@ -230,7 +230,7 @@ Now you are ready to use the Artifactory repository to resolve dependencies and ...@@ -230,7 +230,7 @@ Now you are ready to use the Artifactory repository to resolve dependencies and
You need a last step to have everything in place: configure the `.gitlab-ci.yml` file for this project, as you already did for `simple-maven-dep`. You need a last step to have everything in place: configure the `.gitlab-ci.yml` file for this project, as you already did for `simple-maven-dep`.
You want to leverage [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/) to automatically build, test and run your awesome application, You want to leverage [GitLab CI/CD](https://about.gitlab.com/product/continuous-integration/) to automatically build, test and run your awesome application,
and see if you can get the greeting as expected! and see if you can get the greeting as expected!
All you need to do is to add the following `.gitlab-ci.yml` to the repo: All you need to do is to add the following `.gitlab-ci.yml` to the repo:
......
--- ---
author: Dylan Griffith author: Dylan Griffith
author_gitlab: DylanGriffith author_gitlab: DylanGriffith
level: intermediary level: intermediate
article_type: tutorial article_type: tutorial
date: 2018-06-07 date: 2018-06-07
description: "Continuous Deployment of a Spring Boot application to Cloud Foundry with GitLab CI/CD" description: "Continuous Deployment of a Spring Boot application to Cloud Foundry with GitLab CI/CD"
......
--- ---
author: Ryan Hall author: Ryan Hall
author_gitlab: blitzgren author_gitlab: blitzgren
level: intermediary level: intermediate
article_type: tutorial article_type: tutorial
date: 2018-03-07 date: 2018-03-07
--- ---
...@@ -386,7 +386,7 @@ Uploading artifacts to coordinator... ok id=17095874 responseStatus=2 ...@@ -386,7 +386,7 @@ Uploading artifacts to coordinator... ok id=17095874 responseStatus=2
We have our codebase built and tested on every push. To complete the full pipeline with Continuous Deployment, We have our codebase built and tested on every push. To complete the full pipeline with Continuous Deployment,
let's set up [free web hosting with AWS S3](https://aws.amazon.com/s/dm/optimization/server-side-test/free-tier/free_np/) and a job through which our build artifacts get let's set up [free web hosting with AWS S3](https://aws.amazon.com/s/dm/optimization/server-side-test/free-tier/free_np/) and a job through which our build artifacts get
deployed. GitLab also has a free static site hosting service we could use, [GitLab Pages](https://about.gitlab.com/features/pages/), deployed. GitLab also has a free static site hosting service we could use, [GitLab Pages](https://about.gitlab.com/product/pages/),
however Dark Nova specifically uses other AWS tools that necessitates using `AWS S3`. however Dark Nova specifically uses other AWS tools that necessitates using `AWS S3`.
Read through this article that describes [deploying to both S3 and GitLab Pages](https://about.gitlab.com/2016/08/26/ci-deployment-and-environments/) Read through this article that describes [deploying to both S3 and GitLab Pages](https://about.gitlab.com/2016/08/26/ci-deployment-and-environments/)
and further delves into the principles of GitLab CI/CD than discussed in this article. and further delves into the principles of GitLab CI/CD than discussed in this article.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
redirect_from: 'https://docs.gitlab.com/ee/articles/laravel_with_gitlab_and_envoy/index.html' redirect_from: 'https://docs.gitlab.com/ee/articles/laravel_with_gitlab_and_envoy/index.html'
author: Mehran Rasulian author: Mehran Rasulian
author_gitlab: mehranrasulian author_gitlab: mehranrasulian
level: intermediary level: intermediate
article_type: tutorial article_type: tutorial
date: 2017-08-31 date: 2017-08-31
--- ---
......
# Test and Deploy a python application with GitLab CI/CD # Test and deploy a Python application with GitLab CI/CD
This example will guide you how to run tests in your Python application and deploy it automatically as Heroku application. This example will guide you how to run tests in your Python application and deploy it automatically as Heroku application.
...@@ -65,7 +65,7 @@ First install [Docker Engine](https://docs.docker.com/installation/). ...@@ -65,7 +65,7 @@ First install [Docker Engine](https://docs.docker.com/installation/).
To build this project you also need to have [GitLab Runner](https://docs.gitlab.com/runner). To build this project you also need to have [GitLab Runner](https://docs.gitlab.com/runner).
You can use public runners available on `gitlab.com`, but you can register your own: You can use public runners available on `gitlab.com`, but you can register your own:
``` ```sh
gitlab-runner register \ gitlab-runner register \
--non-interactive \ --non-interactive \
--url "https://gitlab.com/" \ --url "https://gitlab.com/" \
......
# Test and Deploy a ruby application with GitLab CI/CD # Test and deploy a Ruby application with GitLab CI/CD
This example will guide you how to run tests in your Ruby on Rails application and deploy it automatically as Heroku application. This example will guide you how to run tests in your Ruby on Rails application and deploy it automatically as Heroku application.
...@@ -58,10 +58,10 @@ You can do this through the [Dashboard](https://dashboard.heroku.com/). ...@@ -58,10 +58,10 @@ You can do this through the [Dashboard](https://dashboard.heroku.com/).
## Create Runner ## Create Runner
First install [Docker Engine](https://docs.docker.com/installation/). First install [Docker Engine](https://docs.docker.com/installation/).
To build this project you also need to have [GitLab Runner](https://about.gitlab.com/gitlab-ci/#gitlab-runner). To build this project you also need to have [GitLab Runner](https://docs.gitlab.com/runner/).
You can use public runners available on `gitlab.com`, but you can register your own: You can use public runners available on `gitlab.com`, but you can register your own:
``` ```sh
gitlab-runner register \ gitlab-runner register \
--non-interactive \ --non-interactive \
--url "https://gitlab.com/" \ --url "https://gitlab.com/" \
......
# Test and deploy to Heroku a Scala application # Test and deploy a Scala application to Heroku
This example demonstrates the integration of GitLab CI with Scala This example demonstrates the integration of GitLab CI with Scala
applications using SBT. Checkout the example applications using SBT. Checkout the example
......
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