Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Add support for temporary repositories used for staging for Archiva

...

Abstract

...

Creating a repository where the users can deploy their artifacts and once the testing tasks are completed user can deploy the artifact to the common place where the we can use those artifacts as dependencies in pom files or remove the artifact from the temporary repository if it fails during the testing phase.
Content:

Proposal Title:Student Name:Student E-mail:

Proposal Title : Add support for temporary repositories used for staging for Archiva

Student name : Patti Archchige Eshan Sudharaka

E-mail : esudharaka@gmail.com

IRC : irc://irc.codehaus.org/archivaImage Removed

Organization/Project:Assigned Mentor:

Organization Name : Apache Software Foundation

Project : Apache Archiva

Assigned Mentor : Maria Odea Ching

Proposal

...

Apache archiva is a repository management system where we can deploy our artifacts to a common location and later on we can make use those artifacts (jar files) in our projects by adding the artifacts as dependencies in the POM file.But here there is no any separate place to deploy the artifacts which are not tested yet and also the artifacts of an ongoing project(modules).So we need to deploy them in to the common location where the official artifacts are deployed.So there can be some issues due to use of those artifacts as dependencies in our projects since they are not properly tested.

So here my idea is to create a separate place (repositories) where the registered user can deploy the staging artifacts.Those artifacts are not visible to common users.Once the testing task is completed(ready for the public deployment) we can either merge in to the common place where others can make use of those artifacts or remove from the staging artifact(if it fails).Detailed

Description

...

First i would like to give a brief introduction about my approach to adding the staging repository feature.

Adding a Staging Repository

currently archiva comes with two default permanent repositories.Those are internal repository and the snapshots repository.My idea is to add another default repository called staging repository where the developers can deploy their ongoing(which have not being tested yet) .It is the admins task to grant access to the repository to users.Also no one(archiva artifacts users) is allowed to use this repository as in the pom files as mentioned in following.

<pluginRepository>
<id>internal</id>
<url>http://192.168.0.7:8080/archiva/repository/staging/Image Removed</url>
</pluginRepository>

So the visibility of the repository should be only with in the archiva registererd users.

Creating Roles for this staging repository

1) Read and Write access to the repository

...

Here i am going to use archiva audit logs to determine what is the suitable option to follow and provide above functionalities to the user.Also additional logs should be implemented for the staging repository.

Time Line Steps:May 24- June 6 :

  1. adding a default staging repository and assign the all permissoin configurations of that repository to the admin user

...

  1. restricted this staging repository from being using as a plugging repository from out user as mentioned in above in the pom.xml files

...

  1. implementing the read action and the write actions and assign them to the developer(role)and the QA person(role) as mentioned in above.

...

  1. Testing the roles(developer) with the staging repository.

...

  1. implementing the promotion role.(only the merging based on the assumption that new artifact is being deployed.Not a update version)

...

  1. implement the logs and make use them for the searching algorithm to check the older versions of the artifacts which have already deployed.

July 12-Submit midterm evaluation

...

  1. add searching feature(action) to the promotion role and do the merging part by providing the options regarding the version as mentioned above.

...

  1. implementing logs for staging repository

...

Auguest 6 - Auguest 10 : testing phase

August 10-August 16 : Publish results and conclusion.

About me :

...