コード例 #1
0
        private static int BranchDeployment(BranchDeploymentOptions opts)
        {
            var logMessager = new OctopusLogMessages(opts.OctopusUrl);
            var notifier    = GetNotifier(opts.HideDeploymentProgress, opts.Teamcity, logMessager);

            var deploymentPlanner = new OctopusDeploymentPlanner(opts.OctopusUrl, opts.OctopusApiKey);
            var componentFilter   = GetComponentFilter(opts.ComponentFilterPath, opts.ComponentFilter);

            notifier.PrintActionMessage(string.Format("Retrieve branch deployment plans for TargetEnvironment=\"{0}\" Branch=\"{1}\"", opts.TargetEnvironment, opts.Branch));
            var redeployDeploymentPlans   = deploymentPlanner.GetBranchDeploymentPlans(opts.TargetEnvironment, opts.Branch, opts.DoNotUseDifferentialDeployment, componentFilter);
            var environmentDeploymentPlan = redeployDeploymentPlans.EnvironmentDeploymentPlan;

            var deploymentScheduler   = new DeploymentScheduler();
            var componentGraph        = deploymentScheduler.GetComponentDeploymentGraph(environmentDeploymentPlan);
            var environmentDeployment = deploymentScheduler.GetEnvironmentDeployment(componentGraph);

            SetUpdateVariablesOnDeploymentPlan(environmentDeployment);

            notifier.PrintEnvironmentDeploy(environmentDeployment);
            SaveEnvironmentDeploy(opts.EnvironmentDeploymentPath, environmentDeployment);

            var deployers = GetDeployers(opts.TargetEnvironment, opts.UpdateVariables, opts.Deploy, opts.OctopusUrl, opts.OctopusApiKey);

            return(Deploy(notifier, logMessager, environmentDeployment, opts.MaximumParallelDeployments, deployers));
        }
コード例 #2
0
        private static int Deploy(DeployOptions opts)
        {
            var logMessager = new OctopusLogMessages(opts.OctopusUrl);
            var notifier    = GetNotifier(opts.HideDeploymentProgress, opts.Teamcity, logMessager);

            var environmentDeployment = LoadEnvironmentDeploy(opts.EnvironmentDeploymentPath);
            var deployers             = GetDeployers(opts.TargetEnvironment, true, true, opts.OctopusUrl, opts.OctopusApiKey);

            return(Deploy(notifier, logMessager, environmentDeployment, opts.MaximumParallelDeployments, deployers));
        }