lifeisstillgood
lifeisstillgood

Reputation: 3439

Continous Integration with two repos that are inter-dependant

I have two 'components' in my system, "weather service" and "weather consumer".

Weather-server is re-written to offer the temperature REST URI. The weather server is in the github repo.

Weather client, needs to consume this so I wrote a new function. This is stored in a different github repo.

Now whichever way round I commit, client first or server first, the system will not work for that first commit, only the second. So, my Jenkins server will do a wholly unnecessary build and test.

Can I get round this?

  1. Can I commit across two git repos in one commit? I am 99.9% sure no, but it's worth checking.
  2. Can I tell Jenkins to ignore certain commits?

Should I live with it or does anyone have other ideas?

And, yes I know I can put tests to see if the weather service is up or not but that's not the point.

Upvotes: 0

Views: 251

Answers (2)

rickfoosusa
rickfoosusa

Reputation: 1139

Android Repo is a great way to handle multiple git repo's instead of submodules. You need to install repo first, and then:

In Jenkins, install the repo plugin, type in where the manifest file is, and good to go.

Manually, something like this to bring in a read-only, and a writable git repo.

repo init -u git://github.com/rickfoosusa/manifest -m yourmanifest.xml repo sync

a manifest file has remotes, and projects.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote name="github"
        fetch="git://github.com/rickfoosusa" />
  <remote name="rickfoosusa"
        fetch="[email protected]:rickfoosusa" />

  <default remote="github" revision="master"/>

  <project name="openbenchmarks" path="openbenchmarks"/>
  <project remote="rickfoosusa"
           name="myproject"
           path="openbenchmarks/myproject"/>
</manifest>

Upvotes: 1

bcelary
bcelary

Reputation: 1837

I think you can tell Jenkins to hold on for a minute or two before doing the testing.

Upvotes: 0

Related Questions