Skip to content

Latest commit

 

History

History

examples

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Elixir

The following configuration requires the use of the Docker executor. It uses the latest available version of the elixir Docker image to run all tests, and depends on the latest postgres Docker image.

The build jobs that will be created are called: mix and credo. A list of cache paths has been globally defined, as well as the before_script that will run before each of the build job's own scripts.

---
image: elixir:latest

services:
- postgres:latest

cache:
  paths:
  - _build/
  - deps/

variables:
  MIX_ENV: test
  DATABASE_URL: postgres://postgres@postgres:5432/alloy_ci_test

before_script:
- mix local.hex --force
- mix local.rebar --force
- mix deps.get
- mix ecto.setup

mix:
  stage: test
  tags:
  - elixir
  - postgres
  script:
  - mix test

credo:
  stage: test
  tags:
  - elixir
  script:
  - mix credo

Ruby

This is the most basic configuration example for a Rails App. Since this configuration does not specify a Docker image, the Runner's default image will be used. If this default was not set to Ruby, the build job will fail.

---
Rspec Tests:
  script:
  - bundle install --path vendor/bundle
  - bundle exec rake db:setup
  - bundle exec rspec

A more complete example for a Rails App, that uses a full definition for Docker images, with entrypoint configuration, and aliases. The tests to be performed will be run against the PostgreSQL database and against the MySQL database, separately.

---
image:
  name: ruby:2.3
  entrypoint:
  - "/bin/bash"

services:
- name: postgres:latest
  alias: postgres-1
  command:
  - "/bin/sh"
- name: mysql:latest
  alias: mysql-1
  command:
  - "/bin/bash"

before_script:
- bundle install --path vendor/bundle

Rspec PostgreSQL:
  script:
  - bundle exec rake db:postgres:setup
  - bundle exec rspec

Rspec MySQL:
  script:
  - bundle exec rake db:mysql:setup
  - bundle exec rspec