You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by jkraushaar <jo...@doubleslash.de> on 2014/07/10 14:10:00 UTC

Triggering a Jenkins build when dependency defined in feature.xml is updated

Hi,

I like to implement the following build queue in one of our projects:

1. A developer commits a change for a module.
2. The module is build by Jenkins and module tests are executed.
3. Jenkins builds a Karaf custom distribution containing the new module.
4. Jenkins executes integration tests on the built Karaf custom distribution
using PaxExam.

Our Karaf custom distribution uses a custom features.xml. Unfortunately
Jenkins cannot parse the dependencies from the features.xml file and hence
cannot trigger der custom distribution build, when one of the modules is
build.

I see several solutions for this problem:

1. Build the features.xml file using the karaf-maven-plugin and Maven
dependencies. The custom distribution job depends on the features.xml job. A
built module triggers building the features.xml triggers building the custom
distribution. Cons: The features.xml file created by the karaf-maven-plugin
does not does not meet our needs.

2. Maintain the dependencies in features.xml and as Maven dependencies.
Cons: Duplication.

3. Create a Jenkins plugin which parses the features.xml file and acts as
build trigger for the Karaf custom distribution build job. Probably the best
solution, but quite expensive.

Does anyone know other solutions to trigger a Jenkins build when a
dependency defined by features.xml file is build?

Regards
Jochen



--
View this message in context: http://karaf.922171.n3.nabble.com/Triggering-a-Jenkins-build-when-dependency-defined-in-feature-xml-is-updated-tp4034123.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: Triggering a Jenkins build when dependency defined in feature.xml is updated

Posted by jkraushaar <jo...@doubleslash.de>.
Thanks for your quick reply Achim and JB. I think solution 2 with Achim's
enhancements will do the job for us.

Regards
Jochen



--
View this message in context: http://karaf.922171.n3.nabble.com/Triggering-a-Jenkins-build-when-dependency-defined-in-feature-xml-is-updated-tp4034123p4034126.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: Triggering a Jenkins build when dependency defined in feature.xml is updated

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
I agree with Achim. And your cons (duplication) can be avoided by a 
quick Maven module refactoring (IMHO).

Regards
JB

On 07/10/2014 02:29 PM, Achim Nierbeck wrote:
> I'd go for 2., might seem duplicate, but if you use filters and version
> replacements in your feature.xml [1] or [2],
> it's not duplicate anylonger and only maven knows of the versions needed.
>
> regards, Achim
>
> [1] -
> https://github.com/apache/karaf/blob/master/assemblies/features/standard/src/main/feature/feature.xml#L34
> [2] -
> https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-features/src/main/resources/features.xml#L4
>
>
> 2014-07-10 14:10 GMT+02:00 jkraushaar <jochen.kraushaar@doubleslash.de
> <ma...@doubleslash.de>>:
>
>     Hi,
>
>     I like to implement the following build queue in one of our projects:
>
>     1. A developer commits a change for a module.
>     2. The module is build by Jenkins and module tests are executed.
>     3. Jenkins builds a Karaf custom distribution containing the new module.
>     4. Jenkins executes integration tests on the built Karaf custom
>     distribution
>     using PaxExam.
>
>     Our Karaf custom distribution uses a custom features.xml. Unfortunately
>     Jenkins cannot parse the dependencies from the features.xml file and
>     hence
>     cannot trigger der custom distribution build, when one of the modules is
>     build.
>
>     I see several solutions for this problem:
>
>     1. Build the features.xml file using the karaf-maven-plugin and Maven
>     dependencies. The custom distribution job depends on the
>     features.xml job. A
>     built module triggers building the features.xml triggers building
>     the custom
>     distribution. Cons: The features.xml file created by the
>     karaf-maven-plugin
>     does not does not meet our needs.
>
>     2. Maintain the dependencies in features.xml and as Maven dependencies.
>     Cons: Duplication.
>
>     3. Create a Jenkins plugin which parses the features.xml file and
>     acts as
>     build trigger for the Karaf custom distribution build job. Probably
>     the best
>     solution, but quite expensive.
>
>     Does anyone know other solutions to trigger a Jenkins build when a
>     dependency defined by features.xml file is build?
>
>     Regards
>     Jochen
>
>
>
>     --
>     View this message in context:
>     http://karaf.922171.n3.nabble.com/Triggering-a-Jenkins-build-when-dependency-defined-in-feature-xml-is-updated-tp4034123.html
>     Sent from the Karaf - User mailing list archive at Nabble.com.
>
>
>
>
> --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
> & Project Lead
> blog <http://notizblog.nierbeck.de/>
>
> Software Architect / Project Manager / Scrum Master
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Triggering a Jenkins build when dependency defined in feature.xml is updated

Posted by Achim Nierbeck <bc...@googlemail.com>.
I'd go for 2., might seem duplicate, but if you use filters and version
replacements in your feature.xml [1] or [2],
it's not duplicate anylonger and only maven knows of the versions needed.

regards, Achim

[1] -
https://github.com/apache/karaf/blob/master/assemblies/features/standard/src/main/feature/feature.xml#L34
[2] -
https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-features/src/main/resources/features.xml#L4


2014-07-10 14:10 GMT+02:00 jkraushaar <jo...@doubleslash.de>:

> Hi,
>
> I like to implement the following build queue in one of our projects:
>
> 1. A developer commits a change for a module.
> 2. The module is build by Jenkins and module tests are executed.
> 3. Jenkins builds a Karaf custom distribution containing the new module.
> 4. Jenkins executes integration tests on the built Karaf custom
> distribution
> using PaxExam.
>
> Our Karaf custom distribution uses a custom features.xml. Unfortunately
> Jenkins cannot parse the dependencies from the features.xml file and hence
> cannot trigger der custom distribution build, when one of the modules is
> build.
>
> I see several solutions for this problem:
>
> 1. Build the features.xml file using the karaf-maven-plugin and Maven
> dependencies. The custom distribution job depends on the features.xml job.
> A
> built module triggers building the features.xml triggers building the
> custom
> distribution. Cons: The features.xml file created by the karaf-maven-plugin
> does not does not meet our needs.
>
> 2. Maintain the dependencies in features.xml and as Maven dependencies.
> Cons: Duplication.
>
> 3. Create a Jenkins plugin which parses the features.xml file and acts as
> build trigger for the Karaf custom distribution build job. Probably the
> best
> solution, but quite expensive.
>
> Does anyone know other solutions to trigger a Jenkins build when a
> dependency defined by features.xml file is build?
>
> Regards
> Jochen
>
>
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/Triggering-a-Jenkins-build-when-dependency-defined-in-feature-xml-is-updated-tp4034123.html
> Sent from the Karaf - User mailing list archive at Nabble.com.
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>

Software Architect / Project Manager / Scrum Master