Fastlane iOS测试在本地通过,但不是Jenkins

时间:2019-02-27 08:13:30

标签: ios jenkins fastlane

在Jenkins上执行Fastlane时遇到一些麻烦。 它在本地有效,可以成功构建并运行测试。 但是从詹金斯(Jenkins)和github(github)开始,构建没有成功。 我认为是因为这一行:

PhaseScriptExecution Run\ Script /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/MyProject-bljizzbrhfznjpgjucmtarcsjmyw/Build/Intermediates.noindex/MyProject.build/Debug-iphonesimulator/Core.build/Script-FC957A9020120D68000F4790.sh

但不要专注于此,我不确定就是这样。

这里是Fastfile:

default_platform(:ios)

platform :ios do
desc "Launch Middleware tests"
lane :tests do
  run_tests(workspace: "MyProject.xcworkspace",
            clean: true,
            devices: ["iPhone 8"],
            scheme: "Middleware",
            slack_url: "https://hooks.slack.com/services/...",
            slack_channel: "#myChannel")
  end
end

设置了一些环境变量 Environment variables

Build操作:  Build action

詹金斯错误 jenkins error

fastfile创建并由詹金斯执行的命令

Fastlane command

1 个答案:

答案 0 :(得分:1)

我找到了答案,似乎是那个脚本:Script-FC957A9020120D68000F4790.sh,我在Swift 4之前使用Sourcery。

${PODS_ROOT}/Sourcery/bin/sourcery --sources ${PROJECT_DIR}/Core --templates ${PROJECT_DIR}/Sourcery/Core/Templates --output ${PROJECT_DIR}/Core/Sourcery/

Jenkins无法找到PODS_ROOT和PROJECT_DIR环境变量。我不再使用sourcery了,我评论了该脚本,但是如果您仍然使用它,我想您可以在jenkins配置中添加环境变量