<commit_before>---
omit_header_text: true
categories:
    - presentation
date: 2018-01-16 20:15:00
featured_image: /images/test-all-the-things-in-gitlab-ci-with-docker-by-example.jpg
tags:
    - gitlab
    - gitlab-ci
    - ci
    - docker
    - testing
    - example
    - uqac
    - presentation
    - saglacio
title: "Test all the things in gitlab-ci with docker by example"
aliases:
    - /2018/01/16/test-all-the-things-in-gitlab-ci-with-docker-by-example/
    - /saglacio/2018/01/16/test-all-the-things-in-gitlab-ci-with-docker-by-example/
---


Do you write tests? Or do you skip them because it’s too complicated to run? Or maybe developers on your team just don’t care? You should take a few minutes and set up CI so you can enforce good practices. Good news, you can test [all the things](http://knowyourmeme.com/memes/all-the-things) automagically in [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/) with Docker and very little effort 🤘

<!--more-->

_Edit: This blog post was [re-posted on gitlab.com's blog](https://about.gitlab.com/2018/02/05/test-all-the-things-gitlab-ci-docker-examples/) 🎉_

I gave a presentation at the [SagLacIO][saglacio]. This time, it was about **[gitlab-ci][gitlab-ci]**.

## Getting started

First, you’ll need an account at [GitLab.com][gitlab.com]. If you don’t already have one, you can open an account with no problem. [GitLab’s free tier](https://about.gitlab.com/products/) gives you a ton of features, unlimited free hosted repositories, 2,000 CI build minutes per month, etc. You can even use your own task runners in case you bust that limit.

## Useful Links

* [GitLab.com][gitlab.com]
* [GitLab CI/CD documentation](https://docs.gitlab.com/ee/ci/README.html) 📗
* [.gitlab-ci.yml documentation](https://docs.gitlab.com/ee/ci/yaml/README.html) 📕
* [.gitlab-ci.yml linter: gitlab.com/ci/lint](https://gitlab.com/ci/lint/) ✅
* [gitlab-ci nodejs example project](https://gitlab.com/gableroux/gitlab-ci-example-nodejs)
* [gitlab-ci Docker example project](https://gitlab.com/gableroux/gitlab-ci-example-docker)<commit_msg>update linter link, previous one is now 404<commit_after>---
omit_header_text: true
categories:
    - presentation
date: 2018-01-16 20:15:00
featured_image: /images/test-all-the-things-in-gitlab-ci-with-docker-by-example.jpg
tags:
    - gitlab
    - gitlab-ci
    - ci
    - docker
    - testing
    - example
    - uqac
    - presentation
    - saglacio
title: "Test all the things in gitlab-ci with docker by example"
aliases:
    - /2018/01/16/test-all-the-things-in-gitlab-ci-with-docker-by-example/
    - /saglacio/2018/01/16/test-all-the-things-in-gitlab-ci-with-docker-by-example/
---


Do you write tests? Or do you skip them because it’s too complicated to run? Or maybe developers on your team just don’t care? You should take a few minutes and set up CI so you can enforce good practices. Good news, you can test [all the things](http://knowyourmeme.com/memes/all-the-things) automagically in [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/) with Docker and very little effort 🤘

<!--more-->

_Edit: This blog post was [re-posted on gitlab.com's blog](https://about.gitlab.com/2018/02/05/test-all-the-things-gitlab-ci-docker-examples/) 🎉_

I gave a presentation at the [SagLacIO][saglacio]. This time, it was about **[gitlab-ci][gitlab-ci]**.

## Getting started

First, you’ll need an account at [GitLab.com][gitlab.com]. If you don’t already have one, you can open an account with no problem. [GitLab’s free tier](https://about.gitlab.com/products/) gives you a ton of features, unlimited free hosted repositories, 2,000 CI build minutes per month, etc. You can even use your own task runners in case you bust that limit.

## Useful Links

* [GitLab.com][gitlab.com]
* [GitLab CI/CD documentation](https://docs.gitlab.com/ee/ci/README.html) 📗
* [.gitlab-ci.yml documentation](https://docs.gitlab.com/ee/ci/yaml/README.html) 📕
* [.gitlab-ci.yml linter](https://docs.gitlab.com/ce/ci/lint.html) ✅
* [gitlab-ci nodejs example project](https://gitlab.com/gableroux/gitlab-ci-example-nodejs)
* [gitlab-ci Docker example project](https://gitlab.com/gableroux/gitlab-ci-example-docker)
{'fraction_non_alphanumeric': 0.13866348448687352, 'fraction_numerical': 0.020763723150357995, 'mean_word_length': 3.6463414634146343, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6991167', 'n_tokens_mistral': 1594, 'n_tokens_neox': 1443, 'n_words': 397}