Пример #1
0
        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 });
            };
        }
Пример #4
0
        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);
            };
        }
Пример #6
0
        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));
            };
        }
Пример #7
0
        public void Execute(DeployContext context)
        {
            var packageSource = _asimovConfig.GetPackageSourceFor(context.DeployUnit);

            context.TempFolderWithNewVersionFiles = packageSource.CopyAndExtractToTempFolder(context.NewVersion.Id, context.DeployUnit.PackageInfo, _asimovConfig.TempFolder);
        }