[JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency
by Nick Boldt (JIRA)
[ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugi... ]
Nick Boldt commented on JBIDE-18772:
------------------------------------
Alternatively, we could start rewriting rsync.sh as some-kinda-deployment-mojo and jbosstools-cleanup.sh as some-kinda-cleanup-mojo. More work but ultimately way more portable.
> 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)
11 years, 3 months
[JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency
by Mickael Istria (JIRA)
[ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugi... ]
Mickael Istria commented on JBIDE-18772:
----------------------------------------
Ok, I'll rework my proposal to consume the rsync.sh from pom. Stay tuned!
> 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)
11 years, 3 months
[JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency
by Nick Boldt (JIRA)
[ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugi... ]
Nick Boldt edited comment on JBIDE-18772 at 3/23/15 9:51 AM:
-------------------------------------------------------------
I love the idea!
However, when migrating to a pom, there are a few other things that rsync.sh does that we need to do.
Things this doesn't do:
* ensure that the full target path actually exists before trying to rsync there; if it's a first time publish, we might be missing some/intermediate/folders/before/ (ie., if we use Jenkins to push to staging or development instead of snapshots, we would need to ensure those folders exist first, or the rsync will fail.)
* 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
* create a copy of the build log in the $\{JOB_NAME}/$\{BUILD_ID}-B$\{BUILD_NUMBER}/logs/ folder
* create a link to the published content from within the Jenkins job's BUILD_DESCRIPTION [not required but nice to have]
For aggregate site publishes, we also need:
* a second rsync call to push content into mars/snapshots/updates/*/
was (Author: nickboldt):
I love the idea!
However, when migrating to a pom, there are a few other things that rsync.sh does that we need to do.
Things this doesn't do:
* ensure that the full target path actually exists before trying to rsync there; if it's a first time publish, we might be missing some/intermediate/folders/before/ (ie., if we use Jenkins to push to staging or development instead of snapshots, we would need to ensure those folders exist first, or the rsync will fail.)
* 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
* create a copy of the build log in the ${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER}/logs/ folder
* create a link to the published content from within the Jenkins job's BUILD_DESCRIPTION [not required but nice to have]
For aggregate site publishes, we also need:
* a second rsync call to push content into mars/snapshots/updates/*/
> 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)
11 years, 3 months
[JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency
by Nick Boldt (JIRA)
[ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugi... ]
Nick Boldt commented on JBIDE-18772:
------------------------------------
I love the idea!
However, when migrating to a pom, there are a few other things that rsync.sh does that we need to do.
Things this doesn't do:
* ensure that the full target path actually exists before trying to rsync there; if it's a first time publish, we might be missing some/intermediate/folders/before/ (ie., if we use Jenkins to push to staging or development instead of snapshots, we would need to ensure those folders exist first, or the rsync will fail.)
* 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
* create a copy of the build log in the ${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER}/logs/ folder
* create a link to the published content from within the Jenkins job's BUILD_DESCRIPTION [not required but nice to have]
For aggregate site publishes, we also need:
* a second rsync call to push content into mars/snapshots/updates/*/
> 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)
11 years, 3 months
[JBoss JIRA] (JBIDE-18772) Include publish.sh in parent pom as versioned maven dependency
by Mickael Istria (JIRA)
[ https://issues.jboss.org/browse/JBIDE-18772?page=com.atlassian.jira.plugi... ]
Mickael Istria commented on JBIDE-18772:
----------------------------------------
Using the following piece of pom file, we can simply have p2 repo deployed with "mvn deploy"
{code:xml}
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
<phase>deploy</phase>
<configuration>
<executable>rsync</executable>
<arguments>
<arg>-aPrz</arg>
<arg>--rsh=ssh</arg>
<arg>--protocol=28</arg>
<arg>${project.build.directory}/repository</arg>
<arg>tools@filemgmt.jboss.org:jbosstools/updates/mars/snapshots/builds/${JOB_NAME}/${BUILD_ID}-B${BUILD_NUMBER}/all/repo/</arg>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
{code}
So we can replace directly invocation of rsync.sh in scripts by a "mvn deploy -f site/pom.xml"
[~nickboldt] 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)
11 years, 3 months