Giter Site home page Giter Site logo

yasir2000 / archimate-ci-image Goto Github PK

View Code? Open in Web Editor NEW

This project forked from woozymasta/archimate-ci-image

0.0 0.0 0.0 61 KB

Archi container image for use in continuous integration pipelines

Home Page: https://hub.docker.com/r/woozymasta/archimate-ci

License: MIT License

Dockerfile 25.67% Shell 74.33%

archimate-ci-image's Introduction

Archimate container image for CI

Archi container image for use in continuous integration pipelines. With this container, you can implement automatic report generation and model export in your pipeline.

The Archi modelling toolkit is targeted toward all levels of Enterprise Architects and Modellers.

For collaboration with models in the git repository, the coArchi plugin is installed in the container.

For ease of use, the docker-entrypoint.sh script is run in the container, which processes the environment variables, and the native git client is used for cloning.

Run Container

Example with cloning a remote repository:

mkdir -p ./archi

docker run --rm \
  -v $(pwd)/archi:/archi \
  -e [email protected]:archimatetool/example.git
  woozymasta/archimate-ci:4.8.1

An example with handling a local repository:

mkdir -p ./report

docker run --rm \
  -v /path/to/model:/archi/project \
  -v $(pwd)/report:/archi/report \
  woozymasta/archimate-ci:4.8.1

Working with the CLI directly:

docker run --rm -ti \
  -v $(pwd)/archi:/archi \
  woozymasta/archimate-ci:4.8.1 --help

Configuration

Configuration for connecting to the git repository:

  • GIT_REPOSITORY - Git repository address;
  • GIT_TOKEN - Token for accessing the git repository. Preferred for private repositories, or use a key mounted in an ssh container;
  • GIT_USERNAME - Username (it is better to use token or ssh key);
  • GIT_PASSWORD - Password (it is better to use token or ssh key).

Options for managing model export:

  • MODEL_PATH=/archi/project - The path where the git repository with the architectural model will be cloned or connected;
  • REPORT_PATH=/archi/report - Path where reports will be saved;
  • HTML_REPORT_ENABLED=true - Generate HTML report;
  • JASPER_REPORT_ENABLED=true - Generate Jasper reports;
  • JASPER_REPORT_FORMATS=PDF,DOCX - Formats for Jasper reports should be separated by commas. Valid values: PDF, HTML, RTF, PPT, ODT, DOCX;
  • JASPER_REPORT_TITLE - The title for the Jasper report, the default is the project name;
  • CSV_REPORT_ENABLED=true - Generate CSV report;
  • EXPORT_MODEL_ENABLED=true - Export model in *.archimate format.

Build Container

docker build \
  --tag archimate-ci:4.8.1 \
  --build-arg="ARCHI_VERSION=4.8.1" \
  --build-arg="COARCHI_VERSION=0.7.1.202102021056" \
  ./

Solving Potential Problems

If you are using a private git repository hosted behind a VPN, the tunnel interface or name resolution might not be available in the container, use the host network in the container and force the DNS record forward.

docker run --rm \
  -v $(pwd)/archi:/archi \
  -e [email protected]:archimatetool/example.git
  --network=host
  --add-host="$(getent hosts gitlab.internal.tld | awk '{print $2 ":" $1}')"
  woozymasta/archimate-ci:4.8.1

archimate-ci-image's People

Contributors

woozymasta avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.