Skip to main content

A .ci.yml parser for Gitlab-CI

Project description

https://travis-ci.org/claudyus/ci-yml.svg?branch=master

The ci-yml utilities read the local .ci.yml file and run a series of action grouped under jobs.

The .ci.yml file may define a deploy job and a list of other parallel jobs that can be assigned 1-to-1 with the gitlab-CI test jobs.

This is a .ci.yml example file:

prepare:
  - <shell command>
  - <shell command>
jobs:
  <jobname>:
    - <shell command>
  <jobname>:
    - <shell command>
deploy:
  - <shell command>
  - <shell command>

In the example below we have two jobs, a prepare job used to install additional package:

prepare:
  - pip install pyyaml

jobs:
  test1:
    - python ./test1.py
  build_doc:
    - make doc

The commands inside prepare block are executed before that any other jobs is executed and the errors are ignored.

Following the example above you should configure two test jobs in you gitlab-ci instance and just call:

ci-yml test1

and:

ci-yml build_doc

respectively. If you have also a deploy job you should also setup the gitlab-ci deploy job with the only command:

ci-yml deploy

If no arguments are provided to `ci-yml` all the jobs are executed until the first one fails or all jobs are runned than deploy action take place

Environment variables

ci-yml extend the env variables with the follows:

  • CI_YML_JOB

To see the gitlab environment variables see https://gitlab.com/gitlab-org/gitlab-ci/tree/master/doc/examples#environmental-variables Travis envs doc are available at http://docs.travis-ci.com/user/environment-variables/

You can also define extra env vars using the envs block, the newly defined vars can also combine other env vars. For example:

envs:
  pub_path: "/var/www/$USER/$CI_BUILD_REF"

...

deploy:
  - cp *.out $PUB_PATH

Note: For your convenience you can define the vars as lower case inside the envs block but they MUST be used upper case inside the command.

ci-yml and travis

This project was intended to supply a job configuration method to gitlab-ci that don’t have any one atm, otherwise it could be useful also in others use cases.

You can use ci-yml locally during developing and you can also call it inside .travis.yml, see the local travis config file for info.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ci-yml-0.3.3.tar.gz (3.3 kB view details)

Uploaded Source

File details

Details for the file ci-yml-0.3.3.tar.gz.

File metadata

  • Download URL: ci-yml-0.3.3.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ci-yml-0.3.3.tar.gz
Algorithm Hash digest
SHA256 90c115429f2c9cd984a8e8e36a59ee96e31b318ec15c1d7d3742248ab2c5aaac
MD5 2df6375d0eb789deb5d1514b79a0e780
BLAKE2b-256 9d1d7eb0bcc112a477ea4bc5e14f672f209070ad0d5812362bbc7f894e7582d9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page