public DeployModule(ITaskExecutor taskExecutor, IAsimovConfig config) { _taskExecutor = taskExecutor; Post["/deploy/deploy"] = _ => { var command = this.Bind<DeployCommand>(); var deployUnit = config.GetUnitByName(command.unitName); var packageSource = config.GetPackageSourceFor(deployUnit); var version = packageSource.GetVersion(command.versionId, deployUnit.PackageInfo); var deployTask = deployUnit.GetDeployTask(version, new ParameterValues(command.parameters)); _taskExecutor.AddTask(deployTask); return "OK"; }; Post["/deploy/verify"] = _ => { var command = this.Bind<VerifyCommand>(); var deployUnit = config.GetUnitByName(command.unitName); var verifyTask = deployUnit.GetVerifyTask(); _taskExecutor.AddTask(verifyTask); return "OK"; }; }
public void Execute(DeployContext context) { var maxAge = TimeSpan.FromDays(1); DirectoryUtil.CleanOldFiles(_asimovConfig.DownloadFolder, maxAge); var packageSource = _asimovConfig.GetPackageSourceFor(context.DeployUnit); context.TempFolderWithNewVersionFiles = packageSource.CopyAndExtractToTempFolder(context.NewVersion.Id, context.DeployUnit.PackageInfo, _asimovConfig.TempFolder, _asimovConfig.DownloadFolder); }
public DeployModule(ITaskExecutor taskExecutor, IAsimovConfig config) { Post["/deploy/deploy"] = _ => { var command = this.Bind<DeployCommand>(); var deployUnit = config.GetUnitByName(command.unitName); var user = new AsimovUser() { UserId = command.userId, UserName = command.userName }; var packageSource = config.GetPackageSourceFor(deployUnit); var version = packageSource.GetVersion(command.versionId, deployUnit.PackageInfo); var deployTask = deployUnit.GetDeployTask(version, new ParameterValues(command.parameters), user); taskExecutor.AddTask(deployTask); return Response.AsJson(new { OK = true }); }; }
public DeployModule(ITaskExecutor taskExecutor, IAsimovConfig config) { Post["/deploy/deploy"] = _ => { var command = this.Bind <DeployCommand>(); var deployUnit = config.GetUnitByName(command.unitName); var user = new AsimovUser() { UserId = command.userId, UserName = command.userName }; var packageSource = config.GetPackageSourceFor(deployUnit); var version = packageSource.GetVersion(command.versionId, deployUnit.PackageInfo); var deployTask = deployUnit.GetDeployTask(version, new ParameterValues(command.parameters), user); taskExecutor.AddTask(deployTask); return(Response.AsJson(new { OK = true })); }; }
public VersionsModule(IAsimovConfig config) { Get["/versions/{unitName}"] = parameters => { var unitName = (string) parameters.unitName; var deployUnit = config.GetUnitByName(unitName); var versions = config.GetPackageSourceFor(deployUnit) .GetAvailableVersions(deployUnit.PackageInfo) .Select(x => new DeployUnitVersionDTO() { id = x.Id, timestamp = x.Timestamp.ToString("yyyy-MM-dd HH:mm:ss"), version = x.Number, branch = x.Branch, commit = x.Commit }); return Response.AsJson(versions); }; }
public VersionsModule(IAsimovConfig config) { Get["/versions/{unitName}"] = parameters => { var unitName = (string)parameters.unitName; var deployUnit = config.GetUnitByName(unitName); var versions = config.GetPackageSourceFor(deployUnit) .GetAvailableVersions(deployUnit.PackageInfo) .Select(x => new DeployUnitVersionDTO() { id = x.Id, timestamp = x.Timestamp.ToString("yyyy-MM-dd HH:mm:ss"), version = x.Number, branch = x.Branch, commit = x.Commit }); return(Response.AsJson(versions)); }; }
public void Execute(DeployContext context) { var packageSource = _asimovConfig.GetPackageSourceFor(context.DeployUnit); context.TempFolderWithNewVersionFiles = packageSource.CopyAndExtractToTempFolder(context.NewVersion.Id, context.DeployUnit.PackageInfo, _asimovConfig.TempFolder); }