You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@infra.apache.org by "Jason van Zyl (JIRA)" <ji...@apache.org> on 2009/01/31 17:51:59 UTC
[jira] Updated: (INFRA-1885) Install Nexus on people.apache.org so
Maven projects can stage and promote releases
[ https://issues.apache.org/jira/browse/INFRA-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl updated INFRA-1885:
---------------------------------
Description:
The staging and promotion features in Nexus would allow Maven project to easily deploy a release to a staging repository for voting, and then simply press a button in the Web UI to promote it to the production Apache repository for releases. Here is the proposal from Brian:
It seems that many circumstances are converging at the same time to show
that we need to make the next step and use active repository management
on the Apache repository. The increased pace of releases lately is
showing the flaws in the current system and it's not even possible to
deploy a release right now on p.a.o[1]. That's only a temporary issue,
but more noticeable is that we require all releases be staged and using
the maven-staging-plugin has always been a stop gap measure. It's slow
and inconvenient to use and often breaks down in the middle of a release
due to uncorrected permissions on the file system from a previous
release, or simply from transport errors due to the large amount of data
pulled down and pushed back up.
I'm proposing that we use Nexus Pro to manage the repository because of
the staging support. The staging and promotion suite of Nexus allows you
to stage release artifacts before they go live in a release repository.
A single URL for all projects is all you need in your
distributionManagement and Nexus can sort out where they go based on
profiles you define. These profiles allow you to control which artifacts
get staged together, who gets notified, who can see them, etc. These
staged artifacts go into a temporary repository that is created on the
fly when you deploy. This repository is then used for testing and
subsequently dropped or promoted in a single transaction to your release
repository. We've been using this for the Nexus OSS releases for a few
months and it saves us tons of time when we stage / test / restage
releases, and completely eliminates the manual artifact and metadata
manipulation previously required. This will also make it much easier to
stage dependent releases together into a single repository. You can read
more details about staging here[2]
Besides the staging support, having an repository manager will provide
us additional benefits:
We won't have to deal with people forgetting to reset the permissions.
The metadata will always be corrected, even from non-maven native
projects.
The snapshot repository will be actively managed to reduce overall disk
use creep that requires drastic measures like dumping the whole thing.
The plugin API will allow us to evolve and tailor the system to meet
future Apache processes and requirements (such as enforcing valid
signatures, licensing requirements, packaging requirements, etc).
There are other MRMs out there (including one here at Apache), but none
of them support the staging process the we need right now. Nexus also
requires the least overhead in terms of resources and external
dependencies (none). Using the new LDAP setup being piloted at ASF Infra
will make it finally possible to tie all the correct user accounts
together for committers. Sonatype is making free Nexus Pro licenses
available to OSS projects and naturally Apache qualifies. This is
similar to the existing Jira and Confluence installations being used by
Apache projects via a free OSS license from Atlassian[4],[5]
The Apache repository is an organization-wide resource used for all
Apache releases that then get synced to Central. I'm proposing it here
as the Maven team is in the best position to get it setup and worked out
before rolling it out to the rest of the organization, but there's no
doubt that this will be useful to all Apache projects built with Maven.
In the interest of full disclosure, I work at Sonatype and manage the
engineering team that produces Nexus. We will support and manage the
installation as required.
[1] https://issues.apache.org/jira/browse/INFRA-1886
[2] http://books.sonatype.com/nexus-book/reference/staging.html
[3] http://nexus.sonatype.org
[4] http://www.atlassian.com
[5] https://issues.apache.org
was:The staging and promotion features in Nexus would allow Maven project to easily deploy a release to a staging repository for voting, and then simply press a button in the Web UI to promote it to the production Apache repository for releases.
> Install Nexus on people.apache.org so Maven projects can stage and promote releases
> -----------------------------------------------------------------------------------
>
> Key: INFRA-1885
> URL: https://issues.apache.org/jira/browse/INFRA-1885
> Project: Infrastructure
> Issue Type: New Feature
> Security Level: public(Regular issues)
> Reporter: Jason van Zyl
> Priority: Minor
>
> The staging and promotion features in Nexus would allow Maven project to easily deploy a release to a staging repository for voting, and then simply press a button in the Web UI to promote it to the production Apache repository for releases. Here is the proposal from Brian:
> It seems that many circumstances are converging at the same time to show
> that we need to make the next step and use active repository management
> on the Apache repository. The increased pace of releases lately is
> showing the flaws in the current system and it's not even possible to
> deploy a release right now on p.a.o[1]. That's only a temporary issue,
> but more noticeable is that we require all releases be staged and using
> the maven-staging-plugin has always been a stop gap measure. It's slow
> and inconvenient to use and often breaks down in the middle of a release
> due to uncorrected permissions on the file system from a previous
> release, or simply from transport errors due to the large amount of data
> pulled down and pushed back up.
>
> I'm proposing that we use Nexus Pro to manage the repository because of
> the staging support. The staging and promotion suite of Nexus allows you
> to stage release artifacts before they go live in a release repository.
> A single URL for all projects is all you need in your
> distributionManagement and Nexus can sort out where they go based on
> profiles you define. These profiles allow you to control which artifacts
> get staged together, who gets notified, who can see them, etc. These
> staged artifacts go into a temporary repository that is created on the
> fly when you deploy. This repository is then used for testing and
> subsequently dropped or promoted in a single transaction to your release
> repository. We've been using this for the Nexus OSS releases for a few
> months and it saves us tons of time when we stage / test / restage
> releases, and completely eliminates the manual artifact and metadata
> manipulation previously required. This will also make it much easier to
> stage dependent releases together into a single repository. You can read
> more details about staging here[2]
>
> Besides the staging support, having an repository manager will provide
> us additional benefits:
> We won't have to deal with people forgetting to reset the permissions.
> The metadata will always be corrected, even from non-maven native
> projects.
> The snapshot repository will be actively managed to reduce overall disk
> use creep that requires drastic measures like dumping the whole thing.
> The plugin API will allow us to evolve and tailor the system to meet
> future Apache processes and requirements (such as enforcing valid
> signatures, licensing requirements, packaging requirements, etc).
>
> There are other MRMs out there (including one here at Apache), but none
> of them support the staging process the we need right now. Nexus also
> requires the least overhead in terms of resources and external
> dependencies (none). Using the new LDAP setup being piloted at ASF Infra
> will make it finally possible to tie all the correct user accounts
> together for committers. Sonatype is making free Nexus Pro licenses
> available to OSS projects and naturally Apache qualifies. This is
> similar to the existing Jira and Confluence installations being used by
> Apache projects via a free OSS license from Atlassian[4],[5]
>
> The Apache repository is an organization-wide resource used for all
> Apache releases that then get synced to Central. I'm proposing it here
> as the Maven team is in the best position to get it setup and worked out
> before rolling it out to the rest of the organization, but there's no
> doubt that this will be useful to all Apache projects built with Maven.
>
> In the interest of full disclosure, I work at Sonatype and manage the
> engineering team that produces Nexus. We will support and manage the
> installation as required.
>
> [1] https://issues.apache.org/jira/browse/INFRA-1886
> [2] http://books.sonatype.com/nexus-book/reference/staging.html
> [3] http://nexus.sonatype.org
> [4] http://www.atlassian.com
> [5] https://issues.apache.org
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.