Sounds pretty cool! I'll be watching. This sounds useful for local
testing or demos where you have multiple plugins or libraries to
modify and coordinate.

On Tue, Aug 20, 2019 at 7:19 AM Oleg Nenashev <o.v.nenas...@gmail.com> wrote:
>
> Hi all,
>
> You may have noticed that there have been new Custom WAR Packager (CWP) 
> releases recently: 1.7, 2.0-alpha-1, 2.0-alpha-2 . I would like to clarify 
> what I am doing there. If you do are not familiar with Custom War Packager, 
> this blogpost provides a good overview. Basically Custom WAR Packager takes a 
> YAML configuration and builds your own image of Jenkins (WAR, Docker, 
> Jenkinsfile Runner) with built-in self-configuration logic.
>
> History... Custom WAR Packager was introduced in April 2018, and at that 
> point its main purpose was to package WAR files for Jenkins ATH and Plugin 
> Compatibility Tester. These dev tools consume WAR files and run the Jenkins 
> startup, so we wanted to prepare ready-to-fly images with built-in plugin 
> sets and self-configuration... to rain tests against custom setups I (e.g. 
> when another artifact manager is preconfigured in the WAR file). Then the 
> story kept evolving, because we wanted to test Docker images... so we added 
> support of Docker packaging... Then we added Jenkinsfile Runner packaging 
> support, because it looked to be a great way to build custom Docker images 
> for it. To improve automated dependency management we have also added support 
> of pom.xml and BOM inputs. Finally we ended up with a really handy tool which 
> is used to build custom Jenkins distributions, the tool is also used in 
> Jenkins X for the Jenkinsfile Runner mode (deprecated in 2.0).
>
> All of the changes above retained the backward compatibility of the YAML 
> configuration format, and, as you may guess, the tool has outgrown the 
> original design of the test tool. The configuration format became too 
> complicated and, at the same time, it is not extensible well enough (see the 
> buildSettings specification for example). JENKINS-55832 was a final trigger. 
> The change moved CWP from the Maven Plugin info provider to Jenkins update 
> center by default. It drastically decreased the clean build time (15 minutes 
> => 30 seconds on my tests), but there was no way to keep CWP compatible by 
> default. I decided to use this opportunity and to start working on Custom 
> WARJenkins Packager 2.0 which will introduce a new configuration format and 
> better extensibility for CWP as a library.
>
> There will be 2 release baselines for now.
>
> 1.x. I have started the new 1.x compatibility branch. 
> https://github.com/jenkinsci/custom-war-packager/tree/1.x . I will be 
> backporting changes there when needed by users.
>
> 2.0-alpha: This is a new baseline which will include new configuration 
> format. The baseline will stay in Alpha for months, until the new format is 
> established and until all major proposals are addressed. Some changes I have 
> in mind ATM:
>
> Multiple "source" inputs, not just a single one (YAML, pom, or BOM)
> Multiple destination settings so that WAR, Docker and JFR can be configured 
> separately
> Make WAR file and optional packaging format so that we can introduce features 
> which cannot be packaged into WAR (e.g. Pipeline Libraries in the current 
> state)
> Support of "environments" so that multiple custom packages can be created 
> from a single repository (e.g. separate builds for AWS or Azure)
> Deeper integration with Configuration-as-Code Plugin, including conditional 
> configurations (with use of environments or similar engine)
> ...
>
> Any suggestions or contributions to the new 2.0 release line will be much 
> appreciated.
>
> Best regards,
> Oleg Nenashev
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to jenkinsci-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLC%3DwktfW661pqNH508XoKjhMTZhjnWf3vdx03rw7RHDcg%40mail.gmail.com.



-- 
Matt Sicker
Senior Software Engineer, CloudBees

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAEot4oyP1XkTey9GYqW8Oqo5kerM8f6cMosprCcm9Pp4QO-kjA%40mail.gmail.com.

Reply via email to