Не удается запустить средство сборки: не удается найти Gemfile в рабочем каталоге

Я создал Rakefile для создания своего решения ASP.NET и запуска тестовых случаев. (Мой Rakefile требует Albacore, а я использую Windows) В TeamCity я создал этап сборки с типом запуска: Rake.

При выполнении шагов сборки в Team City я получаю эту ошибку:

Не удается найти Gemfile в рабочем каталоге: «C:\TeamCity\buildAgent\work\78c29356760be3bf». Если Gemfile находится в другом каталоге, укажите относительный путь к Gemfile, используя системное свойство: system.teamcity.rake.runner.custom.gemfile

Вот мои настройки:

Увеличение шага сборки

Это мой Rakefile:

require 'albacore'

clr_version = "v4.0.30319"
framework = File.join(ENV['windir'].dup, 'Microsoft.NET', 'Framework64', clr_version)

@solution = "../../Codex.Repository.sln"
@bin_folder = "App.Repositor

y/bin"
@obj_folder = "App.Repository/obj"
@test_bin = "UnitTestsRepository/bin"
@test_obj = "UnitTestsRepository/obj"
@tests_dll = "UnitTests.Repository/bin/Release/Codex.Repository.UnitTests.dll"
@nuget_packages = "../../packages"
@msbuild = File.join(framework, "msbuild.exe")
@vstest = File.join(ENV['VS12COMNIDE'].dup, 'CommonExtensions/Microsoft/TestWindow/vstest.console.exe')

task :default => [:clean, :restore, :build]
task :tests => [:unittest]

desc "Remove all binaries and NuGet packages"
task :clean do
  if(Dir.exists?(@nuget_packages))
    sh "rd \"#{@nuget_packages}\" /s /q"
  end
  if(Dir.exists?(@bin_folder))
    sh "rd \"#{@bin_folder}\" /s /q"
  end
  if(Dir.exists?(@obj_folder))
    sh "rd \"#{@obj_folder}\" /s /q"
  end
  if(Dir.exists?(@test_bin))
    sh "rd \"#{@test_bin}\" /s /q"
  end
  if(Dir.exists?(@test_obj))
    sh "rd \"#{@test_obj}\" /s /q"
  end
end

desc "Restoring NuGet packages"
task :restore do
  sh "nuget restore \"#{@solution}\""
end

desc "Building the solution"
task :build do
  sh "\"#{@msbuild}\" \"#{@solution}\" /p:VisualStudioVersion=12.0;Configuration=Release"
end

desc "Running the unit tests"
task :unittest do
  sh "\"#{@vstest}\" \"#{@tests_dll}\""
end

Как я могу запустить это? И где я могу добавить Gemfiles?


person A-Sharabiani    schedule 06.05.2015    source источник


Ответы (1)


Gemfile — это стандартный ресурс, используемый Bundler для того, чтобы потребовать зависимости гема в текущей папке и создать вокруг них оболочку:

http://bundler.io/

Вам нужно создать файл с именем Gemfile в корневой папке проекта. Определите источник для драгоценных камней, и упаковщик установит зависимости оттуда.

На шаге 3 вы отметили проверку упаковщика. Вот почему ваш проект требует этого. Если он вам не нужен, просто снимите галочку.

person Jorge de los Santos    schedule 06.05.2015
comment
Куда мне поместить этот Gemfile? - person A-Sharabiani; 06.05.2015
comment
В корневой папке проекта. Ошибка сообщает об этом. - person Jorge de los Santos; 06.05.2015