use of org.alien4cloud.git.model.GitLocation in project alien4cloud by alien4cloud.
the class ApplicationDeploymentController method doDeploy.
private RestResponse<?> doDeploy(DeployApplicationRequest deployApplicationRequest, Application application, ApplicationEnvironment environment, Topology topology) {
DeploymentTopologyDTO deploymentTopologyDTO = deploymentTopologyDTOBuilder.prepareDeployment(topology, application, environment);
TopologyValidationResult validation = deploymentTopologyDTO.getValidation();
// if not valid, then return validation errors
if (!validation.isValid()) {
return RestResponseBuilder.<TopologyValidationResult>builder().error(new RestError(RestErrorCode.INVALID_DEPLOYMENT_TOPOLOGY.getCode(), "The deployment topology for the application <" + application.getName() + "> on the environment <" + environment.getName() + "> is not valid.")).data(validation).build();
}
User deployer = AuthorizationUtil.getCurrentUser();
// commit and push the deployment configuration data
GitLocation location = gitLocationDao.findDeploymentSetupLocation(application.getId(), environment.getId());
localGitManager.commitAndPush(location, deployer.getUsername(), deployer.getEmail(), "Deployment " + DateTime.now(DateTimeZone.UTC));
// the request contains secret provider credentials?
SecretProviderCredentials secretProviderCredentials = null;
if (deployApplicationRequest.getSecretProviderCredentials() != null && deployApplicationRequest.getSecretProviderPluginName() != null) {
secretProviderCredentials = new SecretProviderCredentials();
secretProviderCredentials.setCredentials(deployApplicationRequest.getSecretProviderCredentials());
secretProviderCredentials.setPluginName(deployApplicationRequest.getSecretProviderPluginName());
}
// process with the deployment
deployService.deploy(deployer, secretProviderCredentials, deploymentTopologyDTO.getTopology(), application);
return RestResponseBuilder.<Void>builder().build();
}
use of org.alien4cloud.git.model.GitLocation in project alien4cloud by alien4cloud.
the class ApplicationEnvironmentGitController method updateToCustomGit.
@ApiOperation(value = "Update the remote git repository parameters for storing environment deployment config")
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("isAuthenticated()")
@Audit
public RestResponse<Void> updateToCustomGit(@ApiParam(value = "Application id", required = true) @PathVariable String applicationId, @ApiParam(value = "Environment id", required = true) @PathVariable String environmentId, @Valid @RequestBody UpdateGitLocationRequest request) {
checkEnvironmentAuthorization(applicationId, environmentId);
String id = GitLocation.IdBuilder.forDeploymentSetup(applicationId, environmentId);
GitLocation gitLocation = GitLocation.builder().id(id).gitType(GitLocation.GitType.DeploymentConfig).branch(request.getBranch()).credential(new GitHardcodedCredential(request.getUsername(), request.getPassword())).path(request.getPath()).url(request.getUrl()).build();
gitLocationService.updateToRemoteGit(gitLocation);
return RestResponseBuilder.<Void>builder().build();
}
Aggregations