Простая автоматизация построения приложения ASP.NET MVC 2 - PullRequest
2 голосов
/ 07 декабря 2010

Добрый день!

Я ищу решение для выполнения такой задачи из командной строки:

  • Скомпилируйте приложение ASP.NET MVC 2.0 (1 проект asp.net mvcи 2 проекта класса в 1 решении)
  • Выполнить преобразование Web.config
  • Удалить некоторые файлы и папки из результата компиляции
  • Запустить bat-файл, который добавляет номер редакции svn с помощью svnversion
  • Запуск внешнего архиватора для сжатия выпуска
  • У меня все еще есть возможность отладки с использованием VS

Я использую Visual Web Developer 2010, мой проект уже имеет Web.Release.config и Web.Debug.config.

Можно ли это сделать с помощью MSBuild?

Спасибо заранее!

Ответы [ 3 ]

1 голос
/ 07 декабря 2010

Да, вы должны иметь возможность использовать MSBuild для выполнения большинства, если не всех задач.Ознакомьтесь с задачами сообщества MSBuild, они добавляют немного функциональности.

http://msbuildtasks.tigris.org/

HTH

1 голос
/ 17 февраля 2011

Я обычно катаюсь самостоятельно, используя ruby ​​+ rake.Следующее заботится о большинстве из того, что вы перечислили.

require 'rake/clean'

SELF_PATH = File.dirname(__FILE__)
PATH_TO_ROOT = SELF_PATH
PATH_TO_WEB = "C:\\Dev\\"
PATH_TO_MSBUILD = "C:\\Windows\\Microsoft.NET\\Framework\\v3.5\\msbuild.exe"

CLEAN.exclude("**/core")
CLEAN.include("*.cache", "*.xml", "*.suo", "**/obj", "**/bin", "../Deploy")

task :build do 
  sh "#{PATH_TO_MSBUILD} /v:q #{PATH_TO_ROOT}/HUD.sln"
end

namespace "deploy" do
  desc "Preps the project for deployment"
  task :package, :project_name do |t, args|
    begin
      Rake::Task["clean"].invoke
      Rake::Task["build"].invoke
      Dir.mkdir("../Deploy")
      sh "xcopy .\\#{args.project_name} ..\\Deploy\\#{args.project_name}\\ /S /C /F /Y /exclude:e.txt"
      begin
        sh "xcopy .\\#{args.project_name}\\Web.config.prod ..\\Deploy\\#{args.project_name}\\Web.config /S /C /F /Y" 
      rescue
      end
    rescue Exception=>e
      puts e
    end
  end
end
1 голос
/ 07 декабря 2010

Я не верю, что сама MSBuild сделает много вещей из вашего списка.Вы можете создать кучу скриптов для этого.Тем не менее, я рекомендую взглянуть на сервер непрерывной интеграции Hudson.Он уже может делать многие вещи из вашего списка.Это система на основе плагинов, поэтому, если плагин не существует, вы можете свернуть свой собственный.Кроме того, существует довольно активное сообщество, поэтому вы найдете много постов в блоге.Вот ссылка на их сайт:

http://hudson -ci.org /

Я также написал пост в блоге о начале работы с hudson и .net.Вы также можете найти это полезным:

http://blog.bobcravens.com/2010/03/getting-started-with-ci-using-hudson-for-your-net-projects/

Надеюсь, это поможет.

Боб

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...