Commit 21beb9ce authored by Suzanne Selhorn's avatar Suzanne Selhorn

Merge branch 'docu/add-gitlab-ci-service' into 'master'

Add documentation for using gitlab service in CI

See merge request gitlab-org/gitlab!58534
parents 3e3b1191 d15475f0
---
stage: Verify
group: Runner
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type: reference
---
# Using GitLab
As many applications depend on accessing JSON apis you eventually need them in order for your tests to run.
In this example we are providing GitLab as a Microservice to be accessible for API clients.
Below you are guided how to do this with the Docker executors of GitLab Runner.
## Use GitLab with the Docker executor
If you're using [GitLab Runner](../runners/README.md) with the Docker/Kubernetes executor,
you basically have everything set up already.
First, in your `.gitlab-ci.yml` add:
```yaml
services:
- name: gitlab/gitlab-ce:latest
alias: gitlab
variables:
GITLAB_HTTPS: "false" # ensure that plain http will work
GITLAB_ROOT_PASSWORD: "password" # in order to access the api with user root:password
```
To set values for the `GITLAB_HTTPS`, `GITLAB_ROOT_PASSWORD`,
[assign them to a variable in the user interface](../variables/README.md#project-cicd-variables),
then assign that variable to the corresponding variable in your
`.gitlab-ci.yml` file.
From your ci `script:` the API will then be availible at `http://gitlab/api/v4`
If you're wondering why we used `gitlab` for the `Host`, read more at
[How services are linked to the job](../docker/using_docker_images.md#extended-docker-configuration-options).
You can also use any other Docker image available on [Docker Hub](https://hub.docker.com/u/gitlab).
The `gitlab` image can accept some environment variables. For more details,
see the [omnibus documentation](../../install/README.md).
...@@ -18,6 +18,7 @@ case is to run a database container, for example: ...@@ -18,6 +18,7 @@ case is to run a database container, for example:
- [MySQL](mysql.md) - [MySQL](mysql.md)
- [PostgreSQL](postgres.md) - [PostgreSQL](postgres.md)
- [Redis](redis.md) - [Redis](redis.md)
- [GitLab](gitlab.md) as an example for a microservice offering a JSON API
It's easier and faster to use an existing image and run it as an additional container It's easier and faster to use an existing image and run it as an additional container
than to install `mysql`, for example, every time the project is built. than to install `mysql`, for example, every time the project is built.
......
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