Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: parallelize dspot on Kubernetes (#802) #832

Closed
wants to merge 22 commits into from
Closed

Feat: parallelize dspot on Kubernetes (#802) #832

wants to merge 22 commits into from

Conversation

henry-lp
Copy link
Contributor

@henry-lp henry-lp commented Jul 11, 2019

Hi, this PR contains necessary files for deploying Dspot on Kubernetes in reference to this issue (#802). For more details please check out the readme at this link :) . Tell me also if there are any problems to fix.

@coveralls
Copy link

coveralls commented Jul 11, 2019

@danglotb
Copy link
Member

Looks good to me.

However, I don't get the point with the two Travis. Where is the difference between without_dspot and with_dspot? Both traces look exactly the same.

Thank you!

@henry-lp
Copy link
Contributor Author

henry-lp commented Jul 16, 2019

Hi @danglotb , ah sorry I might have missed out elaborating that. The difference is in the pom.xml file . I assume that if people know about this technology then they would add dspot as maven dependency rather than using a jar file :) . The difference between the pom files is down below to spare you the trouble looking up.

   <plugins>
        <plugin>
          <groupId>eu.stamp-project</groupId>
          <artifactId>dspot-maven</artifactId>
          <version>2.1.0</version>
          <configuration>
            project=.
            targetModule=.
            src=src/main/java
            testSrc=src/test/java
            javaVersion=8
          </configuration>
        </plugin>
    </plugins>

Cheers :)

@danglotb
Copy link
Member

Hello @tailp

Okay, I saw the difference.

But If I get it right, the Travis build should trigger dspot on your project, right? But I can't see this execution.

Thus, IHMO your dspot's configuration is probably wrong since it looks like you are defining properties (that should be defined in a separate file .properties) in your pom.

Best

@henry-lp
Copy link
Contributor Author

henry-lp commented Jul 16, 2019

Hi @danglotb :),

An example procedure can be like this for the stand-alone dspot without repairnator:

  • A dev or some other programs can submit a travis build id on the ActiveMQ using the script "publisher.py" in this folder

  • Then since we have several dspot instances listening to this queue, it will pull the travis build id from the queue and fetch the repository (with correct git branch ofcourse) related to that build id.

  • Then it will run the usual Dspot on the cloned repo as a subprocess (more details in this script and submit the output files on mongodb when done.

If this is paired together with repairnator, you can add a gitwebhook on the repo and when travis build is done running it will trigger the monitor to analyze the repo and fetch the recent build Id which either is sent to repairnator if the travis build failed for repairing or further amplication using Dspot upon success. The design for this monitor is in here

I need to discuss this with @monperrus later about whether we should modify the repairnator scanner for submitting build id also for Dspot or create a completely new dspot scanner to fetch build id, but that's just an add on and for now everything is functioning fine :) .

Regard the configuration, do you mean my "with_dspot" travis branch pom.xml ?. I just followed your doc and configured it that way and it seems to be working just fine for me running dspot as maven plugin. Maybe I misunderstood something, please enlighten me if that's the case :) .

Best

@monperrus
Copy link
Member

Thanks for the progress. I would suggest to make baby pull requests. The first one could only contain a Dockerfile in order to run Dspot through docker. WDYT?

@henry-lp
Copy link
Contributor Author

henry-lp commented Jul 20, 2019

Sorry for the late answer :) . It will be done with a new fork and in a new PR .

@monperrus
Copy link
Member

This continues in #841

@monperrus monperrus closed this Jul 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants