Credentials Handling

This document describes how Continuum should handle credentials for pom retrieval and scm access.

Were credentials provided when the project was added? Was 'Use cached credentials if available' checked when the project was added? Are there Subversion credentials cached for the user running Continuum? Were credentials provided during release prepare? Initial project add Scheduled or Forced Build Release
Y Y Y Y use the provided credentials for the HTTP GET to retrieve the POM. Rely on cached credentials for the initial checkout [2]. Do not store the credentials in the database because the checkbox says we should rely on cached credentials. Rely on the cached credentials [2] use the credentials provided during release prepare. Avoid caching these credentials. [1]
Y Y Y N " " Rely on the cached credentials [2]
Y Y N Y " Rely on the cached credentials [2]. Will probably fail because they are missing. use the credentials provided during release prepare. Avoid caching these credentials. [1]
Y Y N N " " Rely on the cached credentials [2].
Y N Y Y use the provided credentials for the HTTP GET to retrieve the pom and for the initial checkout. Store the credentials in the database for later use. Use the credentials from the database [3] use the credentials provided during release prepare. Avoid caching these credentials. [1]
Y N Y N " " Rely on the cached credentials [2].
Y N N Y " " use the credentials provided during release prepare. Avoid caching these credentials. [1]
Y N N N " " Rely on unauthenticated access to the scm repo
N Y Y Y GET the pom and do the initial checkout with no credentials Rely on cached credentials or unauthenticated access to the scm repo [2]. use the credentials provided during release prepare. Avoid caching these credentials. [1]
N Y Y N " " Rely on the cached credentials [2].
N Y N Y " " use the credentials provided during release prepare. Avoid caching these credentials. [1]
N Y N N " " rely on cached credentials or unauthenticated access to scm [2].
N N Y Y " " use the credentials provided during release prepare. Avoid caching these credentials. [1]
N N Y N " " Rely on the cached credentials [2]
N N N Y " " use the credentials provided during release prepare. Avoid caching these credentials. [1]
N N N N " Rely on unauthenticated access to the scm repo Rely on unauthenticated access to the scm repo

A " (double quote) in a table cell means "same as above".

Implementation Notes for Subversion:

  • [1] Use --no-cache-credentials on the svn command
  • [2] Do not provide --username and --password on the svn command line
  • [3] Provide --username and --password on the svn command line

Testing

Currently the tests for these features tend to be manual since they require access to a secured website and/or scm repository. This test is currently disabled: AbstractContinuumProjectBuilderTest.