mirror of https://github.com/portainer/portainer
23 lines
995 B
Go
23 lines
995 B
Go
package stacks
|
|
|
|
type cloneRepositoryParameters struct {
|
|
url string
|
|
referenceName string
|
|
path string
|
|
authentication bool
|
|
deploymentKey string
|
|
username string
|
|
password string
|
|
}
|
|
|
|
func (handler *Handler) cloneGitRepository(parameters *cloneRepositoryParameters) error {
|
|
if parameters.authentication && parameters.username != "" && parameters.password != "" {
|
|
return handler.GitService.ClonePrivateRepositoryWithBasicAuth(parameters.url, parameters.referenceName, parameters.path, parameters.username, parameters.password)
|
|
}
|
|
if parameters.authentication && parameters.deploymentKey != "" {
|
|
deploymentKey, _ := handler.DeploymentKeyService.DeploymentKeyByName(parameters.deploymentKey)
|
|
return handler.GitService.ClonePrivateRepositoryWithDeploymentKey(parameters.url, parameters.referenceName, parameters.path, deploymentKey.PrivateKey)
|
|
}
|
|
return handler.GitService.ClonePublicRepository(parameters.url, parameters.referenceName, parameters.path)
|
|
}
|