[jbosstools-issues] [JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency

Max Rydahl Andersen (JIRA) issues at jboss.org
Mon Mar 23 11:00:23 EDT 2015


    [ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052642#comment-13052642 ] 

Max Rydahl Andersen commented on JBIDE-18772:
---------------------------------------------

I really really like the idea of mvn deploy being nothing but the rsync call. But I understand we so far do much more in rsync.sh, but let me try and see which are *Actually* needed.


* ensure that the full target path actually exists before trying to rsync there

Could that not be solved by using one of the tips suggested here: http://stackoverflow.com/a/22908437/71208

'rsync -a --relative ${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER}/all/repo/ user at remote:/jbosstools/updates/mars/snapshots/builds'

meaning it will fail if the snapshots/builds dir does not exist (which seems like a *good* thing that it will fail) and it will create the --relative part.
 
 *   create a symlink from this latest ${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER} folder to ${JOB_NAME}/latest/
*   create a composite site in ${JOB_NAME}/ of all the */all/repo/ folders, and purge old published folders older than 2 days old

This to me sounds like a thing that could be called when the jenkins jobs are done and kept outside of the responsibility of the component pom's ?
 
*    create a copy of the build log in the ${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER}/logs/ folder

is this one really needed ? could it be done in the separate job from above ?

*    create a link to the published content from within the Jenkins job's BUILD_DESCRIPTION [not required but nice to have]

That seems like the wrong place to have it anyway the job itself would know where it is anyway since it passes in all the subpieces of the url.


The advantage of splitting this up is that the pom.xml in the project can deploy to anywhere - without having full magic system access to its destination - leaving the 'log file cleanup/syncing' etc. to a a jenkins job outside of the component build.

This seems to be a better split of tasks/responsibilities IMO.

WDYT ?

> Include publish.sh in parent pom as versioned maven dependency
> --------------------------------------------------------------
>
>                 Key: JBIDE-18772
>                 URL: https://issues.jboss.org/browse/JBIDE-18772
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: build
>            Reporter: Max Rydahl Andersen
>            Assignee: Mickael Istria
>             Fix For: 4.3.0.Alpha2
>
>
> instead of relying to publish.sh being on master, we should use a versioned publish.sh (or maybe even mojo) that the build then uses.
> suggestion:
> publish.sh (or mojo) gets released to our maven repo, use it in the pom.xml to perform publishing.
> What this helps with is:
> a) can do changes to publish mechanism without affecting every past builds.
> b) more movable build system
> c) isolated testing possible 
>  



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jbosstools-issues mailing list