Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 290449
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T05:59:55+00:00 2026-05-12T05:59:55+00:00

I am trying to figure out how to setup continuous integration using maven. What

  • 0

I am trying to figure out how to setup continuous integration using maven.

What I want is:

  1. Check for new stuff in SVN
  2. If changes are detected, check them out
  3. Build and deploy

I think all of this can be pushed into some shell script to make it be invoked by cron. Thus we will have automated continuous integration (nightly builds, for example)

I know that maven has SCM plugin for working with version control systems, but I don’t know how to make it check for changes in repository and based on the results launch checkout.

So I am asking the audience 🙂

PS I forget to mention – I am NOT INTERESTING in any of existing applications! They are too heavy for my VPS server. Please do not advise them

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T05:59:56+00:00Added an answer on May 12, 2026 at 5:59 am

    I’d recommend using a recognised CI tool for managing this as there is more to CI than just the build.

    But if you are determined to roll your own, you can use some of the goals from the maven-scm-plugin and capture the output.

    Assuming you have a local copy of the project so you’ve access to the pom, you can run the status command to check for changes, and parse the output checking for any changes
    The goal to use is:

    mvn scm:status
    

    If you see any changed files, then you can check out the changes and invoke your build.
    Beware though, there is a bug in maven-scm-provider-svnlink text that means changed files can be skipped! You may be better invoking Subversion directly and parsing its output.

    For example the following will clear up a previous build, check out any changed content and then run the deploy goal.

    mvn clean scm:checkout deploy
    

    If you don’t have a working copy of the project, you can use the scm:bootstrap goal to obtain it. If you set up some properties in a pom you can reuse the pom to bootstrap multiple projects.

    For example the pom below can bootstrap any project if you pass the appropriate command line arguments to it:

    mvn scm:bootstrap -DscmUserName=me -DscmPassword=mypass -DscmConnectionUrl=scm:svn:http://myserver/myproject/trunk
    
    <project>
      [...]
      <packaging>jar</packaging>
      <version>0.0.1</version>
      <name>SCM bootstrapper</name>
      <url>http://somecompany.com</url>
      <scm>
        <connection>${scmConnectionUrl}</connection>
        <developerConnection>${scmDeveloperConnectionUrl}</developerConnection>
        <url>${scmUrl}</url>
      <scm>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <version>1.0</version>
            <configuration>
              <goals>install</goals>
              <username>${scmUsername}</username>
              <password>${scmPassword}</password>
            </configuration>
          </plugin>
        </plugins>
        [...]
      </build>
      [...]
      <properties>
        <scmDeveloperConnectionUrl>dummy</scmDeveloperConnectionUrl>
        <scmConnectionUrl>dummy</scmConnectionUrl>
        <scmUrl>dummy</scmUrl>
        <scmUsername>dummy</scmUsername>
        <scmPassword>dummy</scmPassword>
      </properties>
    </project>
    

    To make Maven work with subversion you need to configure the scm section of the POM:

    <scm>
      <connection>scm:svn:http://path/to/project</connection>
      <developerConnection>scm:svn:http://path/to/project/tags/version</developerConnection>
      <url>scm:svn:http://path/to/project/tags/version</url>
    </scm>
    

    As an alternative for polling for changes, consider adding a hook to subversion so that the build is triggered when a change is made. There’s another question that can give you a pointer on doing that.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 190k
  • Answers 190k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Do you track time in Scrum as a function of… May 12, 2026 at 5:54 pm
  • Editorial Team
    Editorial Team added an answer AQTime will instrument both managed and unmanaged code. I have… May 12, 2026 at 5:54 pm
  • Editorial Team
    Editorial Team added an answer That's a unicode notation understood by javascript/ecmascript. Try <html> <head>… May 12, 2026 at 5:54 pm

Related Questions

It seems that you must use the TTThumbsViewController to accomplish this. However, in the
I am trying to figure out how to properly setup my crossdomain file. Here
I am trying to figure out how to notify the user which field failed
Is there a for Dummies guide to subreports? I am having a hell of

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.