feat(bitbucket-basic-auth): support for bitbucket server basic auth (#1578)
This commit is contained in:
parent
6d48663a77
commit
a4658016d9
@ -21,12 +21,13 @@ See [CI configuration recipes](../recipes/README.md#ci-configurations) for more
|
|||||||
|
|
||||||
**semantic-release** requires push access to the project Git repository in order to create [Git tags](https://git-scm.com/book/en/v2/Git-Basics-Tagging). The Git authentication can be set with one of the following environment variables:
|
**semantic-release** requires push access to the project Git repository in order to create [Git tags](https://git-scm.com/book/en/v2/Git-Basics-Tagging). The Git authentication can be set with one of the following environment variables:
|
||||||
|
|
||||||
| Variable | Description |
|
| Variable | Description |
|
||||||
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `GH_TOKEN` or `GITHUB_TOKEN` | A GitHub [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line). |
|
| `GH_TOKEN` or `GITHUB_TOKEN` | A GitHub [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line). |
|
||||||
| `GL_TOKEN` or `GITLAB_TOKEN` | A GitLab [personal access token](https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html). |
|
| `GL_TOKEN` or `GITLAB_TOKEN` | A GitLab [personal access token](https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html). |
|
||||||
| `BB_TOKEN` or `BITBUCKET_TOKEN` | A Bitbucket [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html). |
|
| `BB_TOKEN` or `BITBUCKET_TOKEN` | A Bitbucket [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html). |
|
||||||
| `GIT_CREDENTIALS` | [URL encoded](https://en.wikipedia.org/wiki/Percent-encoding) Git username and password in the format `<username>:<password>`. The username and password must each be individually URL encoded, not the `:` separating them. |
|
| `BB_TOKEN_BASIC_AUTH` or `BITBUCKET_TOKEN_BASIC_AUTH` | A Bitbucket [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html) with basic auth support. For clearification `user:token` has to be the value of this env. |
|
||||||
|
| `GIT_CREDENTIALS` | [URL encoded](https://en.wikipedia.org/wiki/Percent-encoding) Git username and password in the format `<username>:<password>`. The username and password must each be individually URL encoded, not the `:` separating them. |
|
||||||
|
|
||||||
Alternatively the Git authentication can be set up via [SSH keys](../recipes/git-auth-ssh-keys.md).
|
Alternatively the Git authentication can be set up via [SSH keys](../recipes/git-auth-ssh-keys.md).
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ module.exports = async ({cwd, env, branch, options: {repositoryUrl}}) => {
|
|||||||
GITLAB_TOKEN: 'gitlab-ci-token:',
|
GITLAB_TOKEN: 'gitlab-ci-token:',
|
||||||
BB_TOKEN: 'x-token-auth:',
|
BB_TOKEN: 'x-token-auth:',
|
||||||
BITBUCKET_TOKEN: 'x-token-auth:',
|
BITBUCKET_TOKEN: 'x-token-auth:',
|
||||||
|
BB_TOKEN_BASIC_AUTH: '',
|
||||||
|
BITBUCKET_TOKEN_BASIC_AUTH: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
const info = hostedGitInfo.fromUrl(repositoryUrl, {noGitPlus: true});
|
const info = hostedGitInfo.fromUrl(repositoryUrl, {noGitPlus: true});
|
||||||
|
@ -299,6 +299,34 @@ test('Return the "https" formatted URL if "gitCredentials" is defined with "BITB
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Return the "https" formatted URL if "gitCredentials" is defined with "BB_TOKEN_BASIC_AUTH"', async (t) => {
|
||||||
|
const {cwd} = await gitRepo();
|
||||||
|
|
||||||
|
t.is(
|
||||||
|
await getAuthUrl({
|
||||||
|
cwd,
|
||||||
|
env: {...env, BB_TOKEN_BASIC_AUTH: 'username:token'},
|
||||||
|
branch: {name: 'master'},
|
||||||
|
options: {repositoryUrl: 'git@host.null:owner/repo.git'},
|
||||||
|
}),
|
||||||
|
'https://username:token@host.null/owner/repo.git'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Return the "https" formatted URL if "gitCredentials" is defined with "BITBUCKET_TOKEN_BASIC_AUTH"', async (t) => {
|
||||||
|
const {cwd} = await gitRepo();
|
||||||
|
|
||||||
|
t.is(
|
||||||
|
await getAuthUrl({
|
||||||
|
cwd,
|
||||||
|
env: {...env, BITBUCKET_TOKEN_BASIC_AUTH: 'username:token'},
|
||||||
|
branch: {name: 'master'},
|
||||||
|
options: {repositoryUrl: 'git@host.null:owner/repo.git'},
|
||||||
|
}),
|
||||||
|
'https://username:token@host.null/owner/repo.git'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
test('Return the "https" formatted URL if "GITHUB_ACTION" is set', async (t) => {
|
test('Return the "https" formatted URL if "GITHUB_ACTION" is set', async (t) => {
|
||||||
const {cwd} = await gitRepo();
|
const {cwd} = await gitRepo();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user