Automated Releases Using Hudson + Ant + Subversion

We recently created Hudson for continuous integration and started taking advantage of automated testing, static analysis, etc. Our next step is to launch our cumbersome manual release process. What I present is a two-phase process:

  • Branch for release line. As soon as our line of development is stabilized, we would like to branch out. Since we have users with low density and high demand, a small number of actions often take place after the official release, which leads to a small stop and continued development at the beginning of the release line (and we do not want to block the development of the trunk for this), so the branching practice is convenient time, and then the resolution of the stabilization window (hours for a day or two) makes sense. (This is done in subversive activities: usually we mark the development release immediately before the branch, then the branch, then we continue the parallel development)

  • Cut the release from the branch. This currently includes

    • A bit of a “fix” for posting release numbers where they belong.
    • Checkin
    • Tag
    • Export
    • Build
    • "fixup", "devel/snapshot".
    • Checkin

, , - , :

  • , , . ( -trunk, ...)

  • Subversion? (, ant script; script; Hudson/plugins , , ?)

  • / Hudson/ ?

  • , , release ?

Hudson Release Plugin, , ...

: : " Maven?" ... , , Maven, , , Maven . , ant ...

+3
3

Ant

Ant ( , , ), Maven, Ant. , , , SVNAnt.

@Peter Lawray, Maven - . , release, Subversion " " . , ( , ), , Maven Subversion , , pom.xml ( ).

, Maven ( JAR, WARs, EAR ..) , Maven pom.xml.

SeleniumRC , . Maven , , .

, .

+1

, maven.

, ( ant, /batch/shell ). . . script . , api. , JobName, , , , ( ). (dev line), ( ) , CI .

+1

, . (!) : , . , IDE.

, ( ):

  • ( root_release23_20101124)
  • ( release23_20101124)
  • , ,
  • ( ), ,

So, setting up a new version is the task of the developer / build manager, but in fact the creation of the release is done by Hudson.

Setting up a release involves manual work, but you can't call it cumbersome - how long does it take for tags, branching, editing multiple files, fixing, creating a task, and changing the branch name?

0
source

Source: https://habr.com/ru/post/1776494/


All Articles