rosineygp / mkdkr_exporter

export mkdkr to another pipeline engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

exporter

Build Status Docker Pulls GitHub release (latest by date)

Export Makefile to following pipeline engines:

  • circle-ci
  • github actions
  • gitlab-ci
  • jenkins (dsl pipeline)
  • travis
  • bitbucket-pipelines ¹
  • local - shellscript

¹ privileged containers not working at bitbucket cloud

All Makefile user targets is added, including implicit jobs (like commitlint).

Additional environment variables, flows and error handling needs to be implemented by user.

This project pipeline is made using mkdkr_exporter.

usage

include

Add the following line at mkdkr.csv

exporter,https://github.com/rosineygp/mkdkr_exporter.git

execute

No needs aditional step in your Makefile (implicit)

# export to gitlab
make _exporter_gitlab-ci

# export to github actions
make _exporter_github

# export to travis
make _exporter_travis

# export to circle ci
make _exporter_circle-ci

# export to jenkins (pipeline syntax)
make _exporter_jenkins_pipeline

# export to bitbucket pipelines
make _exporter_bitbucket-pipelines

# export to local - shellscript
make _exporter_shell

how it works

The script will read Makefile and execute make -qp. It will return all explicit and implicit make targets.

For better result add and prefix in your Makefile target name like this.

lint.python:
  ...

test.unit:
  ...

test.dast:
  ...

deploy.heroku:
  ...

or using slash as separator.

lint/python:
  ...

test/unit:
  ...

test/dast:
  ...

deploy/heroku:
  ...

The prefix will be used as job stage and run in parallel at gitlab-ci and travis.

If not added prefix, the stage name will be the same as target name.

exclude targets

To exclude a target in exporter generator the first letter of target name needs to be different of following regex [a-zA-Z].

* suggest start with _ underscore.

About

export mkdkr to another pipeline engine

License:Apache License 2.0


Languages

Language:Jinja 57.2%Language:Shell 20.7%Language:Makefile 20.6%Language:Dockerfile 1.5%