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
, , - , :
, , . ( -trunk, ...)
Subversion? (, ant script; script; Hudson/plugins , , ?)
/ Hudson/ ?
, , release ?
Hudson Release Plugin, , ...
: : " Maven?" ... , , Maven, , , Maven . , ant ...
Ant
Ant ( , , ), Maven, Ant. , , , SVNAnt.
@Peter Lawray, Maven - . , release, Subversion " " . , ( , ), , Maven Subversion , , pom.xml ( ).
, Maven ( JAR, WARs, EAR ..) , Maven pom.xml.
SeleniumRC , . Maven , , .
, .
, maven.
, ( ant, /batch/shell ). . . script . , api. , JobName, , , , ( ). (dev line), ( ) , CI .
, . (!) : , . , IDE.
, ( ):
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?
Source: https://habr.com/ru/post/1776494/More articles:Problem launching a UNIX shell script from an Oracle parallel program - unixPHP GIF / PNG True Colorize Filter that preserves brightness and alpha - phpСтатус обратного вызова запроса "textStatus" - jqueryНасколько эффективна параллельная обработка и присвоение ядра MATLAB ядрам? - parallel-processingCan I use v strings for IPv4 addresses? - perlSQL calculates the number of days of stay by month, by user, by location - sqlSubmitting Akka actorRef in json - jsonAny examples of custom Google API search in Android? - androidiphone - background image problem uitextview - iphoneSQL multivolume atomatics question - javaAll Articles