public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
        {
            if (!(unit is ICanBeStopStarted))
                throw new ArgumentException("Action is only supported for deploy units that implement ICanBeStopStarted");

            return ((ICanBeStopStarted) unit).GetStartTask();
        }
 public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId)
 {
     var task = new DeployTask(this, version, parameterValues, user, correlationId);
     task.AddDeployStep<UpdateWebSite>();
     foreach (var action in Actions.OfType<VerifyCommandUnitAction>())
     {
         task.AddDeployStep(new ExecuteUnitAction(action, user));
     }
     return task;
 }
        public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
        {
            var previousversion = unit.GetDeployedVersions().Skip(1).FirstOrDefault(x => x.DeployFailed == false);
            if (previousversion == null)
            {
                Log.Warn("Could not find any previous version!");
                return null;
            }

            var config = ObjectFactory.GetInstance<IAsimovConfig>();

            var packageSource = config.GetPackageSourceFor(unit);
            var version = packageSource.GetVersion(previousversion.VersionId, unit.PackageInfo);
            return unit.GetDeployTask(version, new ParameterValues(previousversion.Parameters), user, correlationId);
        }
        public void StartingDeploy(AsimovVersion newVersion, string logFileName, AsimovUser user, string correlationId, ParameterValues parameters)
        {
            DeployStatus = DeployStatus.Deploying;
            Version = new DeployedVersion
            {
                DeployTimestamp = DateTime.Now,
                VersionId = newVersion.Id,
                VersionNumber = newVersion.Number,
                VersionBranch = newVersion.Branch,
                VersionTimestamp = newVersion.Timestamp,
                VersionCommit = newVersion.Commit,
                LogFileName = logFileName,
                UserId = user.UserId,
                UserName = user.UserName,
                DeployFailed = false,
                CorrelationId = correlationId,
                Parameters = parameters.GetInternalDictionary()
            };

            NotificationPublisher.PublishNotifications(new DeployStartedEvent(Name, Version));
        }
示例#5
0
        public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user)
        {
            var task = new DeployTask(this, version, parameterValues, user);

            task.AddDeployStep <FileCopyDeployStep>();
            return(task);
        }
        public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId)
        {
            var task = new DeployTask(this, version, parameterValues, user, correlationId);

            if (CanInstall())
            {
                task.AddDeployStep(new InstallWindowsService(this));
            }
            else
            {
                task.AddDeployStep <UpdateWindowsService>();
            }

            foreach (var action in Actions.OfType <CommandUnitAction>())
            {
                task.AddDeployStep(new ExecuteUnitAction(action, user));
            }
            return(task);
        }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new PowershellCommandTask(Arguments, correlationId);
 }
 public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user)
 {
     var task = new DeployTask(this, version, parameterValues, user);
     task.AddDeployStep<FileCopyDeployStep>();
     return task;
 }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return(new CommandTask(unit, Command, correlationId));
 }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new VerifySiteTask((WebSiteDeployUnit)unit, Urls.ToArray(), correlationId);
 }
 public abstract AsimovTask GetTask(DeployUnit unit,AsimovUser user);
 public abstract AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user);
 public abstract AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId);
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new CommandTask(unit, Command, correlationId);
 }
        public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId)
        {
            var task = new DeployTask(this, version, parameterValues, user, correlationId);

            task.AddDeployStep <PowerShellDeployStep>();
            return(task);
        }
        public DeployTask(DeployUnit deployUnit, AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId)
        {
            _deployUnit      = deployUnit;
            _version         = version;
            _parameterValues = parameterValues;
            _user            = user;
            _correlationId   = correlationId;

            AddDeployStep <CleanTempFolder>();
            AddDeployStep <CopyPackageToTempFolder>();
        }
 public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId)
 {
     var task = new DeployTask(this, version, parameterValues, user, correlationId);
     task.AddDeployStep<PowerShellDeployStep>();
     return task;
 }
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user, string correlationId)
 {
     return new VerifyCommandTask((WebSiteDeployUnit)unit, ZipPath, Command, correlationId);
 }
示例#19
0
 public ExecuteUnitAction(UnitAction action, AsimovUser user)
 {
     this.action = action;
     this.user   = user;
 }
 public abstract AsimovTask GetTask(DeployUnit unit,AsimovUser user, string correlationId);
        public override AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user)
        {
            var task = new DeployTask(this, version, parameterValues, user);

            task.AddDeployStep <UpdateWebSite>();
            foreach (var action in Actions.OfType <VerifyCommandUnitAction>())
            {
                task.AddDeployStep(new ExecuteUnitAction(action, user));
            }
            return(task);
        }
 public abstract AsimovTask GetDeployTask(AsimovVersion version, ParameterValues parameterValues, AsimovUser user, string correlationId);
示例#23
0
 public override AsimovTask GetTask(DeployUnit unit, AsimovUser user)
 {
     return(new VerifySiteTask((WebSiteDeployUnit)unit, Urls.ToArray()));
 }