2015-12-07 02:39:14 -05:00
|
|
|
# Using Redis
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
As many applications depend on Redis as their key-value store, you will
|
|
|
|
eventually need it in order for your tests to run. Below you are guided how to
|
|
|
|
do this with the Docker and Shell executors of GitLab Runner.
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 08:59:41 -05:00
|
|
|
## Use Redis with the Docker executor
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 14:41:56 -05:00
|
|
|
If you are using [GitLab Runner](../runners/README.md) with the Docker executor
|
|
|
|
you basically have everything set up already.
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
First, in your `.gitlab-ci.yml` add:
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
```yaml
|
|
|
|
services:
|
|
|
|
- redis:latest
|
|
|
|
```
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
Then you need to configure your application to use the Redis database, for
|
|
|
|
example:
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 14:41:56 -05:00
|
|
|
```yaml
|
2015-12-07 02:39:14 -05:00
|
|
|
Host: redis
|
|
|
|
```
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
And that's it. Redis will now be available to be used within your testing
|
|
|
|
framework.
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 14:41:56 -05:00
|
|
|
You can also use any other docker image available on [Docker Hub][hub-redis].
|
|
|
|
For example, to use Redis 2.8 the service becomes `redis:2.8`.
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 08:59:41 -05:00
|
|
|
## Use Redis with the Shell executor
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
Redis can also be used on manually configured servers that are using GitLab
|
|
|
|
Runner with the Shell executor.
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
In your build machine install the Redis server:
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
```bash
|
|
|
|
sudo apt-get install redis-server
|
|
|
|
```
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
Verify that you can connect to the server with the `gitlab-runner` user:
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
```bash
|
|
|
|
# Try connecting the the Redis server
|
|
|
|
sudo -u gitlab-runner -H redis-cli
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
# Quit the session
|
|
|
|
127.0.0.1:6379> quit
|
|
|
|
```
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-07 02:39:14 -05:00
|
|
|
Finally, configure your application to use the database, for example:
|
2015-11-25 08:41:14 -05:00
|
|
|
|
2015-12-08 14:41:56 -05:00
|
|
|
```yaml
|
2015-12-07 02:39:14 -05:00
|
|
|
Host: localhost
|
|
|
|
```
|
|
|
|
|
|
|
|
## Example project
|
|
|
|
|
|
|
|
We have set up an [Example Redis Project][redis-example-repo] for your convenience
|
|
|
|
that runs on [GitLab.com](https://gitlab.com) using our publicly available
|
|
|
|
[shared runners](../runners/README.md).
|
|
|
|
|
|
|
|
Want to hack on it? Simply fork it, commit and push your changes. Within a few
|
2017-02-13 11:59:57 -05:00
|
|
|
moments the changes will be picked by a public runner and the job will begin.
|
2015-12-07 02:39:14 -05:00
|
|
|
|
2016-05-07 00:29:24 -04:00
|
|
|
[hub-redis]: https://hub.docker.com/r/_/redis/
|
2015-12-07 02:39:14 -05:00
|
|
|
[redis-example-repo]: https://gitlab.com/gitlab-examples/redis
|