示例#1
0
        public static CreateBuildStep GetNpmInstallStepRequest(string buildConfigId, string workingDirectory)
        {
            var npmStepRequest = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "NPM Install",
                TypeId           = BuidStepTypes.Npm,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("npm_commands", "install\ninstall grunt\ninstall grunt-cli")
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
            };

            return(npmStepRequest);
        }
 public static CreateBuildStep GetBowerInstallBuildStep(string buildConfigId, string workingDirectory)
 {
     var bowerInstallBuildStep = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "Bower Install",
         TypeId = BuidStepTypes.CommandLine,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("script.content", "bower install")
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName,workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
             .AddTeamCityProperty("use.custom.script","true")
     };
     return bowerInstallBuildStep;
 }
示例#3
0
        public static CreateBuildStep GetBowerInstallBuildStep(string buildConfigId, string workingDirectory)
        {
            var bowerInstallBuildStep = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "Bower Install",
                TypeId           = BuidStepTypes.CommandLine,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("script.content", "bower install")
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
                                   .AddTeamCityProperty("use.custom.script", "true")
            };

            return(bowerInstallBuildStep);
        }
示例#4
0
        public static CreateBuildStep GetWebDeployPackStep(string buildConfigId, string workingDirectory)
        {
            var getWebDeployPackStep = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "Web Deploy - Pack",
                TypeId           = BuidStepTypes.CommandLine,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("command.executable", "%env.MSDeployPath%\\msdeploy.exe")
                                   .AddTeamCityProperty("command.parameters", "-verb:sync -source:iisApp=\"%teamcity.build.workingDir%\\wwwroot\" -dest:package=\"%teamcity.build.workingDir%\\webapp.zip\"")
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
            };

            return(getWebDeployPackStep);
        }
示例#5
0
        public static CreateBuildStep GetGruntBuildStep(string buildConfigId, string workingDirectory)
        {
            var bowerInstallBuildStep = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "Grunt build",
                TypeId           = BuidStepTypes.Grunt,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("jonnyzzz.grunt.file", workingDirectory + "/gruntfile.js")
                                   .AddTeamCityProperty("jonnyzzz.grunt.mode", "npm")
                                   .AddTeamCityProperty("jonnyzzz.grunt.tasks", "build")
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
            };

            return(bowerInstallBuildStep);
        }
示例#6
0
        public static CreateBuildStep GetWebDeployPush(string buildConfigId, string workingDirectory)
        {
            var getWebDeployPush = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "Web Deploy - Push",
                TypeId           = BuidStepTypes.CommandLine,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("command.executable", "%env.MSDeployPath%\\msdeploy.exe")
                                   .AddTeamCityProperty(
                    "command.parameters",
                    "-verb:sync -source:package=\"%teamcity.build.workingDir%\\webapp.zip\" -dest:iisApp=\"%ss.msdeploy.iisApp%\",wmsvc=%ss.msdeploy.serverAddress%,username=%ss.msdeploy.username%,password=%ss.msdeploy.password% -allowUntrusted=true"
                    )
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
            };

            return(getWebDeployPush);
        }
示例#7
0
        public static CreateBuildStep GetNuGetRestoreBuildStep(string buildConfigId, string nugetSlnPath)
        {
            var nuGetRestoreBuildStep = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "NuGet Restore",
                TypeId           = BuidStepTypes.NuGetInstaller,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty("nuget.path", "?NuGet.CommandLine.DEFAULT.nupkg")
                                   .AddTeamCityProperty("nuget.updatePackages.mode", "sln")
                                   .AddTeamCityProperty("nuget.use.restore", "restore")
                                   .AddTeamCityProperty("nugetCustomPath", "?NuGet.CommandLine.DEFAULT.nupkg")
                                   .AddTeamCityProperty("nugetPathSelector", "?NuGet.CommandLine.DEFAULT.nupkg")
                                   .AddTeamCityProperty("sln.path", nugetSlnPath)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
            };

            return(nuGetRestoreBuildStep);
        }
示例#8
0
        public static CreateBuildStep GetCopyAppSettingsStep(string buildConfigId, string workingDirectory, string rootAppSettingsDir, string ownerName, string repoName)
        {
            var copyAppSettingsStep = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + buildConfigId,
                Name             = "Copy App Settings",
                TypeId           = BuidStepTypes.CommandLine,
                StepProperties   = new CreateTeamCityProperties()
                                   .AddTeamCityProperty(
                    "script.content",
                    "xcopy {0}{1}\\{2}\\appsettings.txt %teamcity.build.workingDir%\\wwwroot /Y".Fmt(
                        rootAppSettingsDir,
                        ownerName,
                        repoName)
                    )
                                   .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
                                   .AddTeamCityProperty(StepModePropertyName, "default")
                                   .AddTeamCityProperty("use.custom.script", "true")
            };

            return(copyAppSettingsStep);
        }
 public static CreateBuildStep GetCopyAppSettingsStep(string buildConfigId, string workingDirectory, string rootAppSettingsDir, string ownerName, string repoName)
 {
     var copyAppSettingsStep = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "Copy App Settings",
         TypeId = BuidStepTypes.CommandLine,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty(
                 "script.content",
                 "xcopy {0}{1}\\{2}\\appsettings.txt %teamcity.build.workingDir%\\wwwroot /Y".Fmt(
                     rootAppSettingsDir,
                     ownerName,
                     repoName)
             )
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName,workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
             .AddTeamCityProperty("use.custom.script", "true")
     };
     return copyAppSettingsStep;
 }
 public static CreateBuildStep GetWebDeployPush(string buildConfigId, string workingDirectory)
 {
     var getWebDeployPush = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "Web Deploy - Push",
         TypeId = BuidStepTypes.CommandLine,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("command.executable", "%env.MSDeployPath%\\msdeploy.exe")
             .AddTeamCityProperty(
             "command.parameters",
             "-verb:sync -source:package=\"%teamcity.build.workingDir%\\webapp.zip\" -dest:iisApp=\"%ss.msdeploy.iisApp%\",wmsvc=%ss.msdeploy.serverAddress%,username=%ss.msdeploy.username%,password=%ss.msdeploy.password% -allowUntrusted=true"
             )
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
     };
     return getWebDeployPush;
 }
 public static CreateBuildStep GetWebDeployPackStep(string buildConfigId, string workingDirectory)
 {
     var getWebDeployPackStep = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "Web Deploy - Pack",
         TypeId = BuidStepTypes.CommandLine,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("command.executable", "%env.MSDeployPath%\\msdeploy.exe")
             .AddTeamCityProperty("command.parameters", "-verb:sync -source:iisApp=\"%teamcity.build.workingDir%\\wwwroot\" -dest:package=\"%teamcity.build.workingDir%\\webapp.zip\"")
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
     };
     return getWebDeployPackStep;
 }
 public static CreateBuildStep GetNuGetRestoreBuildStep(string buildConfigId, string nugetSlnPath)
 {
     var nuGetRestoreBuildStep = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "NuGet Restore",
         TypeId = BuidStepTypes.NuGetInstaller,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("nuget.path", "?NuGet.CommandLine.DEFAULT.nupkg")
             .AddTeamCityProperty("nuget.updatePackages.mode", "sln")
             .AddTeamCityProperty("nuget.use.restore", "restore")
             .AddTeamCityProperty("nugetCustomPath", "?NuGet.CommandLine.DEFAULT.nupkg")
             .AddTeamCityProperty("nugetPathSelector", "?NuGet.CommandLine.DEFAULT.nupkg")
             .AddTeamCityProperty("sln.path",nugetSlnPath)
             .AddTeamCityProperty(StepModePropertyName, "default")
     };
     return nuGetRestoreBuildStep;
 }
 public static CreateBuildStep GetNpmInstallStepRequest(string buildConfigId,string workingDirectory)
 {
     var npmStepRequest = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "NPM Install",
         TypeId = BuidStepTypes.Npm,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("npm_commands", "install\ninstall grunt\ninstall grunt-cli")
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName,workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
     };
     return npmStepRequest;
 }
 public static CreateBuildStep GetGruntBuildStep(string buildConfigId, string workingDirectory)
 {
     var bowerInstallBuildStep = new CreateBuildStep
     {
         BuildTypeLocator = "id:" + buildConfigId,
         Name = "Grunt build",
         TypeId = BuidStepTypes.Grunt,
         StepProperties = new CreateTeamCityProperties()
             .AddTeamCityProperty("jonnyzzz.grunt.file", workingDirectory + "/gruntfile.js")
             .AddTeamCityProperty("jonnyzzz.grunt.mode", "npm")
             .AddTeamCityProperty("jonnyzzz.grunt.tasks","build")
             .AddTeamCityProperty(BuildConfigWorkingDirPropertyName, workingDirectory)
             .AddTeamCityProperty(StepModePropertyName, "default")
     };
     return bowerInstallBuildStep;
 }
        public void CanCreateTechStacksBuildConfig()
        {
            var createProject = new CreateProject { Name = "TestTS" };
            var createProjResponse = Client.CreateProject(createProject);
            var createVcs = new CreateVcsRoot
            {
                Name = "GitHub_Test1",
                VcsName = VcsRootTypes.Git,
                Project = new CreateVcsRootProject { Id = createProjResponse.Id },
                Properties = new CreateVcsRootProperties
                {
                    Properties = new List<CreateVcsRootProperty>
                    {
                        new CreateVcsRootProperty
                        {
                            Name = "url",
                            Value = "https://github.com/ServiceStackApps/TechStacks.git"
                        },
                        new CreateVcsRootProperty
                        {
                            Name = "authMethod",
                            Value = "ANONYMOUS"
                        },
                        new CreateVcsRootProperty
                        {
                            Name = "branch",
                            Value = "refs/heads/master"
                        }
                    }
                }
            };

            var vcsResponse = Client.CreateVcsRoot(createVcs);

            var createEmptyBuild = new CreateBuildConfig {Locator = "id:" + createProjResponse.Id, Name = "Build"};
            var emptyBuildConfigResponse = Client.CreateBuildConfig(createEmptyBuild);
            var attachRequest = new AttachVcsEntries
            {
                BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id,
                VcsRootEntries = new List<AttachVcsRootEntry>
                {
                    new AttachVcsRootEntry
                    {
                        Id = vcsResponse.Id,
                        VcsRoot = new AttachVcsRoot
                        {
                            Id = vcsResponse.Id
                        }
                    }
                }
            };
            var attachResponse = Client.AttachVcsEntries(attachRequest);

            //Create build steps
            var npmStepRequest = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id,
                Name = "NPM Install",
                TypeId = BuidStepTypes.Npm,
                StepProperties = new CreateTeamCityProperties
                {
                    Properties = new List<CreateTeamCityProperty>
                    {
                        new CreateTeamCityProperty
                        {
                            Name = "npm_commands",
                            Value = "install\ninstall bower\ninstall grunt\ninstall grunt-cli"
                        },
                        new CreateTeamCityProperty
                        {
                            Name = "teamcity.build.workingDir",
                            Value = "src/TechStacks/TechStacks"
                        },
                        new CreateTeamCityProperty
                        {
                            Name = "teamcity.step.mode",
                            Value = "default"
                        }
                    }
                }
            };

            var npmStepResponse = Client.CreateBuildStep(npmStepRequest);
        }
        public void CanCreateTechStacksBuildConfig()
        {
            var createProject = new CreateProject {
                Name = "TestTS"
            };
            var createProjResponse = Client.CreateProject(createProject);
            var createVcs          = new CreateVcsRoot
            {
                Name    = "GitHub_Test1",
                VcsName = VcsRootTypes.Git,
                Project = new CreateVcsRootProject {
                    Id = createProjResponse.Id
                },
                Properties = new CreateVcsRootProperties
                {
                    Properties = new List <CreateVcsRootProperty>
                    {
                        new CreateVcsRootProperty
                        {
                            Name  = "url",
                            Value = "https://github.com/ServiceStackApps/TechStacks.git"
                        },
                        new CreateVcsRootProperty
                        {
                            Name  = "authMethod",
                            Value = "ANONYMOUS"
                        },
                        new CreateVcsRootProperty
                        {
                            Name  = "branch",
                            Value = "refs/heads/master"
                        }
                    }
                }
            };

            var vcsResponse = Client.CreateVcsRoot(createVcs);

            var createEmptyBuild = new CreateBuildConfig {
                Locator = "id:" + createProjResponse.Id, Name = "Build"
            };
            var emptyBuildConfigResponse = Client.CreateBuildConfig(createEmptyBuild);
            var attachRequest            = new AttachVcsEntries
            {
                BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id,
                VcsRootEntries   = new List <AttachVcsRootEntry>
                {
                    new AttachVcsRootEntry
                    {
                        Id      = vcsResponse.Id,
                        VcsRoot = new AttachVcsRoot
                        {
                            Id = vcsResponse.Id
                        }
                    }
                }
            };
            var attachResponse = Client.AttachVcsEntries(attachRequest);

            //Create build steps
            var npmStepRequest = new CreateBuildStep
            {
                BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id,
                Name             = "NPM Install",
                TypeId           = BuidStepTypes.Npm,
                StepProperties   = new CreateTeamCityProperties
                {
                    Properties = new List <CreateTeamCityProperty>
                    {
                        new CreateTeamCityProperty
                        {
                            Name  = "npm_commands",
                            Value = "install\ninstall bower\ninstall grunt\ninstall grunt-cli"
                        },
                        new CreateTeamCityProperty
                        {
                            Name  = "teamcity.build.workingDir",
                            Value = "src/TechStacks/TechStacks"
                        },
                        new CreateTeamCityProperty
                        {
                            Name  = "teamcity.step.mode",
                            Value = "default"
                        }
                    }
                }
            };

            var npmStepResponse = Client.CreateBuildStep(npmStepRequest);
        }