fix: do not convert ssh repositoryUrl to https

This commit is contained in:
Pierre Vanduynslager
2018-08-08 12:02:02 -04:00
parent 8b8e40c91e
commit b89523105c
2 changed files with 23 additions and 2 deletions
+10 -2
View File
@@ -47,10 +47,18 @@ module.exports = async ({cwd, env, options: {repositoryUrl, branch}}) => {
const envVar = Object.keys(GIT_TOKENS).find(envVar => !isUndefined(env[envVar]));
const gitCredentials = `${GIT_TOKENS[envVar] || ''}${env[envVar] || ''}`;
const {protocols, ...parsed} = gitUrlParse(repositoryUrl);
const protocol = protocols.includes('https') ? 'https' : protocols.includes('http') ? 'http' : 'https';
const protocol = protocols.includes('https')
? 'https'
: protocols.includes('http')
? 'http'
: protocols.includes('ssh')
? 'ssh'
: 'https';
// If credentials are set via anvironment variables, convert the URL to http/https and add basic auth, otherwise return `repositoryUrl` as is
return gitCredentials ? {...parsed, protocols: [protocol], user: gitCredentials}.toString(protocol) : repositoryUrl;
return gitCredentials && ['https', 'http'].includes(protocol)
? {...parsed, protocols: [protocol], user: gitCredentials}.toString(protocol)
: repositoryUrl;
}
return repositoryUrl;