The Eiffel Sandbox provides a Docker image where multiple Eiffel actors and event services are pre-configured in a single life-like environment. This lets users and developers play around with and try out Eiffel concepts and implementations in a safe setting with a minimum of effort. To get started, see How to Run and How it Works below.
Note: At present, the sandbox includes several implementations to be contributed to open source in the very near future. The Docker images are available, but the sources are not yet. Please stay tuned for the sources to turn up on GitHub soon.
The contents of this repository are licensed under the Apache License 2.0.
To get involved, please see Code of Conduct and contribution guidelines.
This repository forms part of the Eiffel Community. Eiffel is a protocol for technology agnostic machine-to-machine communication in continuous integration and delivery pipelines, aimed at securing scalability, flexibility and traceability. Eiffel is based on the concept of decentralized real time messaging, both to drive the continuous integration and delivery system and to document it.
Visit Eiffel Community to get started and get involved.
To run the Eiffel Sandbox, you need Docker and Docker Compose.
- Clone the repo:
git clone https://github.com/eiffel-community/eiffel-sandbox.git
- In the repo root, run Docker Compose:
docker-compose up
To run specific services, add the service name to the command. For instance, to run only the event repository:docker-compose up eiffel-er
. Service names can be found in docker-compose.yml.
This will started multiple Eiffel services and tools with Eiffel plugins. The containers of primary interest can be accessed at the exposed ports below. Note that the hostname depends on your local environment. For additional containers and detailed port configurations, please refer to docker-compose.yml.
- Eiffel Intelligence Artifact Frontend: 8071
- Eiffel Intelligence Source Change Frontend: 8073
- Eiffel Intelligence Test Execution Frontend: 8075
- Nexus Repository: 8081
- Jenkins 1 with Eiffel Jenkins Plugin: 8082
- Jenkins 2 with Eiffel Jenkins Plugin: 8083
- Eiffel Vici: 8092
- Eiffel Event Repository: 8084
- Remrem Generate: 8095
- Remrem Publish: 8096
- RabbitMQ: 15672
To stop the services, hit ctrl + c
, then run docker-compose down --volumes
. Note that this will keep the images cached, which will shorten the startup time. Further volume and image management via regular Docker commands (see Docker Documentation).