Ejemplo n.º 1
0
            public static object GetTargets(IParameters parameters)
            {
                var machineName = parameters.Required <string>("machineName");
                var remoteOne   = new PrintTask(Output)
                {
                    Description = machineName
                };
                var two = new PrintTask(Output)
                {
                    Description = parameters.Required <string>("two")
                };

                var remoteBounce = new RemoteBounce();

                RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne });

                Task <IEnumerable <string> > machines = new [] { "machine1", "machine2" };
                var one = machines.SelectTasks(machine => new RemoteExec {
                    BounceArguments = remoteOneArgs.WithParameter(machineName.WithValue(machine)),
                    Machine         = machine,
                });

                return(remoteBounce.WithRemoteTargets(new {
                    One = one,
                    Two = two,
                }));
            }
Ejemplo n.º 2
0
        public static object Targets(IParameters parameters)
        {
            var stage   = parameters.Required <string>("stage");
            var machine = parameters.Required <string>("machine");

            var deployService = new Copy {
                FromPath = "service",
                ToPath   = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\service", m)),
            };
            var deployWeb = new Copy {
                FromPath = "web",
                ToPath   = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\web", m)),
            };

            var remoteMachineOne = GetRemoteMachine(stage, machine, "one");
            var remoteMachineTwo = GetRemoteMachine(stage, machine, "two");

            Task <IEnumerable <RemoteMachine> > serviceMachines = new[] { remoteMachineOne, remoteMachineTwo };
            Task <IEnumerable <RemoteMachine> > webMachines     = new[] { remoteMachineTwo };

            var deployArchive = new StagedDeployArchive(stage, "archive");
            var service       = deployArchive.Add("service", "service", deployService).WithRemoteDeploy(serviceMachines.SelectTasks(m => m.DeployTargets("Service")));
            var web           = deployArchive.Add("web", "web", deployWeb).WithRemoteDeploy(webMachines.SelectTasks(m => m.DeployTargets("Web")));

            return(new {
                Service = service,
                Web = web,
            });
        }
Ejemplo n.º 3
0
            public static object GetTargets(IParameters parameters)
            {
                var remoteOne = new PrintTask(Output)
                {
                    Description = parameters.Required <string>("hack")
                };
                var two = new PrintTask(Output)
                {
                    Description = parameters.Required <string>("two")
                };

                var remoteBounce = new RemoteBounce();

                RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne });

                var one = new RemoteExec
                {
                    BounceArguments = remoteOneArgs,
                    Machine         = parameters.Required <string>("machine"),
                };

                return(remoteBounce.WithRemoteTargets(new {
                    One = one,
                    Two = two,
                }));
            }
Ejemplo n.º 4
0
        public static object Targets(IParameters parameters)
        {
            var stage = parameters.Required<string>("stage");
            var machine = parameters.Required<string>("machine");

            var deployService = new Copy {
                FromPath = "service",
                ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\service", m)),
            };
            var deployWeb = new Copy {
                FromPath = "web",
                ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\web", m)),
            };

            var remoteMachineOne = GetRemoteMachine(stage, machine, "one");
            var remoteMachineTwo = GetRemoteMachine(stage, machine, "two");

            Task<IEnumerable<RemoteMachine>> serviceMachines = new[] {remoteMachineOne, remoteMachineTwo};
            Task<IEnumerable<RemoteMachine>> webMachines = new[] {remoteMachineTwo};

            var deployArchive = new StagedDeployArchive(stage, "archive");
            var service = deployArchive.Add("service", "service", deployService).WithRemoteDeploy(serviceMachines.SelectTasks(m => m.DeployTargets("Service")));
            var web = deployArchive.Add("web", "web", deployWeb).WithRemoteDeploy(webMachines.SelectTasks(m => m.DeployTargets("Web")));

            return new {
                Service = service,
                Web = web,
            };
        }
Ejemplo n.º 5
0
        public static object RealTargets(IParameters buildParameters)
        {
            var version = buildParameters.Required<string>("version");

            var git = new GitCheckout {
                Repository = "git://github.com/refractalize/bounce.git",
                Directory = "tmp2",
            };
            var solution = new VisualStudioSolution {
                SolutionPath = "Bounce.sln",
            };
            var frameworkProject = solution.Projects["Bounce.Framework"];

            var downloadsDir = new CleanDirectory {
                Path = "Downloads",
            };

            var frameworkZip = new ZipFile {
                Directory = frameworkProject.WhenBuilt(() => Path.GetDirectoryName(frameworkProject.OutputFile.Value)),
                ZipFileName = downloadsDir.Files[version.WhenBuilt(() => string.Format("Bounce.Framework.{0}.zip", version.Value))],
            };

            var downloads = new All(frameworkZip, new GitTag {Directory = ".", Tag = version.WhenBuilt(() => "v" + version.Value)});

            return new {
                Tests = new NUnitTests {
                    DllPaths = solution.Projects.Select(p => p.OutputFile),
                },
                Downloads = downloads,
            };
        }
Ejemplo n.º 6
0
            public static object GetTargets(IParameters parameters)
            {
                var sol = new VisualStudioSolution {
                    SolutionPath = "stuff.sln"
                };

                var env = parameters.Required <string>("env").Switch(
                    "test", Print(sol.Projects["cats"].OutputFile),
                    "stage", Print("this is test"),
                    "live", Print("this is test"));

                var one = new PrintTask(Output)
                {
                    Description = "*------------*one"
                };
                var two = new PrintTask(Output)
                {
                    Description = "*------------*two"
                };

                return(new {
                    One = one,
                    Two = two,
                    Three = env,
                });
            }
Ejemplo n.º 7
0
            public static object GetTargets(IParameters parameters)
            {
                var one = new PrintTask(Output)
                {
                    Description = parameters.Required <string>("one")
                };
                var two = new PrintTask(Output)
                {
                    Description = parameters.Required <string>("two")
                };

                return(new {
                    One = one,
                    Two = two,
                });
            }
            public static object GetTargets(IParameters parameters) {
                var one = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Required<int>("port"))}};
                var two = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Default("name", "Some Web Site"))}};

                return new {
                    One = one,
                    Two = two,
                };
            }
Ejemplo n.º 9
0
            public static object GetTargets(IParameters parameters)
            {
                var machineName = parameters.Required<string>("machineName");
                var remoteOne = new PrintTask(Output) {Description = machineName};
                var two = new PrintTask(Output) {Description = parameters.Required<string>("two")};

                var remoteBounce = new RemoteBounce();

                RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne });

                Task<IEnumerable<string>> machines = new [] {"machine1", "machine2"};
                var one = machines.SelectTasks(machine => new RemoteExec {
                    BounceArguments = remoteOneArgs.WithParameter(machineName.WithValue(machine)),
                    Machine = machine,
                });

                return remoteBounce.WithRemoteTargets(new {
                    One = one,
                    Two = two,
                });
            }
Ejemplo n.º 10
0
            public static object GetTargets(IParameters parameters)
            {
                var one = new FakeTask {
                    Dependencies = new [] { new TaskDependency(parameters.Required <int>("port")) }
                };
                var two = new FakeTask {
                    Dependencies = new [] { new TaskDependency(parameters.Default("name", "Some Web Site")) }
                };

                return(new {
                    One = one,
                    Two = two,
                });
            }
Ejemplo n.º 11
0
        public static object RealTargets(IParameters buildParameters)
        {
            var version = buildParameters.Required <string>("version");

            var git = new GitCheckout {
                Repository = "git://github.com/refractalize/bounce.git",
                Directory  = "tmp2",
            };

            var asmInfoWithVersion = new RewriteFile {
                FilePath = "SolutionAssemblyInfo.cs",
                Rewriter = RewriteVersion(version),
            };

            var solution = new VisualStudioSolution {
                SolutionPath = "Bounce.sln",
                DependsOn    = new [] { asmInfoWithVersion }
            };

            var frameworkProject = solution.Projects["Bounce.Framework"];

            var downloadsDir = new CleanDirectory {
                Path = "Downloads",
            };

            var frameworkZip = new ZipFile {
                Directory   = frameworkProject.WhenBuilt(() => Path.GetDirectoryName(frameworkProject.OutputFile.Value)),
                ZipFileName = downloadsDir.Files[version.WhenBuilt(() => string.Format("Bounce.Framework.{0}.zip", version.Value))],
            };

            var gitTag = new GitTag {
                Directory = ".", Tag = version.WhenBuilt(() => "v" + version.Value)
            };
            var downloads = new All(frameworkZip, gitTag);

            return(new {
                Tests = new NUnitTests {
                    DllPaths = solution.Projects.Select(p => p.OutputFile),
                },
                Downloads = downloads,
                RewriteAsmInfo = asmInfoWithVersion,
            });
        }
Ejemplo n.º 12
0
            public static object GetTargets(IParameters parameters)
            {
                var one = new PrintTask(Output) { Description = parameters.Required<string>("one") };
                var two = new PrintTask(Output) { Description = parameters.Required<string>("two") };

                return new {
                    One = one,
                    Two = two,
                };
            }
Ejemplo n.º 13
0
            public static object GetTargets(IParameters parameters)
            {
                var remoteOne = new PrintTask(Output) {Description = parameters.Required<string>("hack")};
                var two = new PrintTask(Output) {Description = parameters.Required<string>("two")};

                var remoteBounce = new RemoteBounce();

                RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne });

                var one = new RemoteExec
                          {
                              BounceArguments = remoteOneArgs,
                              Machine = parameters.Required<string>("machine"),
                          };

                return remoteBounce.WithRemoteTargets(new {
                    One = one,
                    Two = two,
                });
            }