What is the best practice using git and hudson with one repository including multiple projects

I have raised a similar question before yet after doing some research and bashing my head for a long time , I have concluded that I need some more guidance.

We have currently migrated to GIT from SVN and biggest impact was to our CI Server. Since you can’t checkout sub-directories in GIT.

  • How can I setup Hudson to use the same repository for different projects and maintain separate change logs?
  • jenkins unable to run “ /build-tools/17.0.0/aapt ”
  • Jenkins can not clone Git repository over Git/SSH on Windows
  • Incrementing NPM/Grunt version on successful build — Bamboo
  • How to Change Hudson Default Interface Language
  • Storing Configuration File
  • Our repository consists of multiple projects and we like to keep it that way , because every developer creates its own story branch and merges with the main branch after he is done with the story.

    On the other hand we can’t manage to configure Hudson or Jenkins with our git repository so that we can create separate tasks for each of our subfolders which corresponds to separate maven projects.

    I know its advised to use submodules yet , If we configure each maven project as a submodule our sub-branching won’t be in the way that we want to be.

    It kinda feels like that it should be possible to configure in such way that but couldn’t achieved any progress so far.

    What is it advised that we should do in such situation?

  • How to create an organized git repository for an Android project that uses a git submodule
  • svn rename problem
  • Git master branch has no upstream branch
  • git: “Updates were rejected because the tip of your current branch is behind..” but how to see differences?
  • android studio gradle after git clone
  • Git repository on server is much bigger than local clone with all branches
  • One Solution collect form web for “What is the best practice using git and hudson with one repository including multiple projects”

    I agree with @KingCrunch’s statement that you should have a separate repo for each project, but if you have to keep your single repo for some reason you could do this:

    1. For each Jenkins build, click the Advanced button in the Git section
      and set the Included / Excluded Regions fields so that you only poll
      for changes in the subfolder that contains the code for the project
      being built.
    2. Set the Maven build step of your job to pick up the POM file from the appropriate subdirectory.
    Git Baby is a git and github fan, let's start git clone.