2019-06-11 12:39:26 -04:00
---
type: tutorial
---
NOTE: **Note:**
This document has not been updated recently and could be out of date. For the latest documentation, see the [GitLab CI/CD ](../README.md ) page and the [GitLab CI/CD Pipeline Configuration Reference ](../yaml/README.md ).
2017-11-01 11:56:40 -04:00
# Test a Clojure application with GitLab CI/CD
2015-08-25 21:42:46 -04:00
2019-06-11 12:39:26 -04:00
This example will guide you how to run tests on your Clojure application.
2015-08-25 21:42:46 -04:00
2019-06-11 12:39:26 -04:00
You can view or fork the [example source ](https://gitlab.com/dzaporozhets/clojure-web-application ) and view the logs of its past [CI jobs ](https://gitlab.com/dzaporozhets/clojure-web-application/builds?scope=finished ).
2015-08-25 21:42:46 -04:00
2017-11-01 11:56:40 -04:00
## Configure the project
2015-08-25 21:42:46 -04:00
This is what the `.gitlab-ci.yml` file looks like for this project:
```yaml
variables:
POSTGRES_DB: sample-test
DATABASE_URL: "postgresql://postgres@postgres:5432/sample-test"
before_script:
- apt-get update -y
- apt-get install default-jre postgresql-client -y
- wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
- chmod a+x lein
- export LEIN_ROOT=1
- PATH=$PATH:.
- lein deps
- lein migratus migrate
2017-11-01 11:56:40 -04:00
test:
script:
2015-08-25 21:42:46 -04:00
- lein test
```
2019-06-11 12:39:26 -04:00
In `before_script` , we install JRE and [Leiningen ](http://leiningen.org/ ).
The sample project uses the [migratus ](https://github.com/yogthos/migratus ) library to manage database migrations, and
we have added a database migration as the last step of `before_script` .
2015-08-25 21:42:46 -04:00
2019-06-11 12:39:26 -04:00
You can use public runners available on `gitlab.com` for testing your application with this configuration.