cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Podkowinski (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13487) Generate snapshot packages through Jenkins
Date Wed, 03 May 2017 12:08:04 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-13487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Stefan Podkowinski updated CASSANDRA-13487:
-------------------------------------------
    Fix Version/s: 4.x
                   3.11.x
                   3.0.x
                   2.2.x
           Status: Patch Available  (was: Open)

I've now added some script-foo to detect the target version for the build, based on the branch
or tag that is used to trigger the build. Building tags will now create packages with regular
release versions. Building branches will create snapshot releases, which should work fine
when triggered periodically by Jenkins.

> Generate snapshot packages through Jenkins
> ------------------------------------------
>
>                 Key: CASSANDRA-13487
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13487
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Build
>            Reporter: Stefan Podkowinski
>            Assignee: Stefan Podkowinski
>             Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
>         Attachments: 13487.patch
>
>
> Creating packages through the new docker based build scripts now work pretty much independent
from any local environment, as long as docker is available, e.g. also on Jenkins. Having daily
snapshots available for deb/rpm artifacts would enable us to provide users dev-releases for
testing and validating fixes.
> I've created a branch for the Jenkins integration, which can be found here:
> https://github.com/spodkowinski/cassandra-builds/tree/jenkins_debrpm
> The major issue I'm currently struggling with is the handling of the actual version value.
We need to find a way to have Jenkins recognize the correct version for the branch being build.
Also we must create $version-SNAPSHOT packages, as builds are not official releases and we
should not have any packages for versions that aren't published yet.
> The Debian build process will use the version defined in {{debian/changelog}}. Adding
a -SNAPSHOT suffix for the version should work, but this has to be handled manually and care
must be taken to change the value back again for a regular release.
> With RPMs, the version must be set for {{cassandra.spec}}, which is currently done by
running {noformat}rpmbuild --define="version ${CASSANDRA_VERSION}" -ba ./redhat/cassandra.spec{noformat},
where the version is passed as a parameter by {{build-scripts/cassandra-rpm-packaging.sh}}.
Maybe we could grep the version from build.xml here?
> So I wonder if there any way we can keep track of the version in a single place, such
as build.xml or CHANGES. Afterwards we also need to enable a SNAPSHOT mode, maybe by setting
a Jenkins environment value.
> /cc [~mshuler]



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message