zenvia / docker-komposer Goto Github PK
View Code? Open in Web Editor NEWA port of Docker client written in groovy meant to make easy to create JUnit tests with Docker.
A port of Docker client written in groovy meant to make easy to create JUnit tests with Docker.
create an RUN method when it's possible to inform a service and run just this one with it's dependencies
The getHost() method is only accepting IP format. But it's interesting to accept "localhost" as well.
Check on docker_host what the instances are currently running to be able to name the new instances, even scale if necessary.
It has a problem when signing the jar package.
When privateNetwork is enable, Weave containers are up along the services containers. In the down moment, all service containers are closed, but Weave remains up.
This is the stack trace:
Client instance has been closed.
java.lang.IllegalStateException: Client instance has been closed.
at jersey.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:149)
at org.glassfish.jersey.client.JerseyClient.checkNotClosed(JerseyClient.java:178)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:190)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)
at com.spotify.docker.client.DefaultDockerClient.resource(DefaultDockerClient.java:1044)
at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:368)
at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:362)
at com.zenvia.komposer.runner.KomposerNetworkSetup.startAdminContainer(KomposerNetworkSetup.groovy:69)
at com.zenvia.komposer.runner.KomposerNetworkSetup.stop_closure4(KomposerNetworkSetup.groovy:53)
at groovy.lang.Closure.call(Closure.java:423)
at groovy.lang.Closure.call(Closure.java:439)
at com.zenvia.komposer.runner.KomposerNetworkSetup.stop(KomposerNetworkSetup.groovy:51)
at com.zenvia.komposer.runner.KomposerRunner.down(KomposerRunner.groovy:163)
at com.zenvia.komposer.junit.KomposerRule.after(KomposerRule.groovy:67)
...
Add lint tool to keep the project clean
This simple property help devs to find your self containers in runtime. This is a nice option to bigger time
A way to store all the containers logs (together or in separeted streams) and do whatever is wanted later.
(Maybe just print this logs on sysout and let the junit to collect it)
docker pull
docker push
We have instability when try to pull or push docker images. So, it would be very important to implement a retry policy in these operations.
To work just like docker-compose itself, it will be easy to install and run on any environment.
We need improvemnt this shutdown checking if container is running after try shutdown one.
def cleanupSpec() {
rule.after()
}
When pulling images from a private repo its mandatory to log in that.
Maybe create a .hubcfg or something like that, with the registry endpoint and the login credentials.
Add validations to check docker properties file, for instance, host property
host=127.0.0.1:2375
According to documentation currently we are missing:
This option should solve issues when the only cause is active containers for some reason, such as abortion of tests by IDE or Jenkins.
Add validations to check docker compose file;
You can return host data in URI object.
containers.getContainers() //getting infos about container
containers.getHost() //getting infos about host
Use something more light like HttpBuilder.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.