Подтвердить что ты не робот

Не удалось создать сервер сборки Xcode. Устройства, настроенные для тестирования, не были найдены

Наш сервер Xcode Build Server терпит неудачу и больше не выполняет никаких тестов. Версия 8.3 (8e162)

Он просто терпит неудачу с утверждением:

Ошибка службы сборки

Ошибка Устройства, настроенные для тестирования, не найдены.

введите описание изображения здесь

Когда я выбираю "Fix it", вы просто перенаправляетесь в "Редактировать Бот" → "Устройства" в настройках бота. Иногда список устройств iOS теперь загружается дольше (~ 15 секунд), чем раньше().

Итак, когда устройства, наконец, появляются (если они даже отображаются) и выбраны, появляется следующее сообщение об ошибке: Внутренняя ошибка обновления Bot, попробуйте снова настроить бот

Представленные решения здесь не были проблемой для меня, поскольку я вошел в систему у бота: Исправлено удаление ошибок xcode bots

Кто-нибудь нашел

  • причина для этого, почему эта ошибка внезапно возникает...
  • решение для этого? Переход к старой версии xCode, к сожалению, для меня не предусмотрен, как предлагается здесь: https://forums.developer.apple.com/thread/76453, поскольку у меня уже есть версия, на которую пользователь понизил рейтинг.

Что-то неожиданно случилось с общими схемами или чем-то или было неправильно сконфигурировано, что может привести к этой проблеме?

Прежде чем я снова создам бот, мне бы очень хотелось исправить бота, сохранить историю сборки и т.д.

4b9b3361

Ответ 1

Нашел решение, предоставленное пользователем @juce на github. Ссылка на исходный ответ в Apple Developer Forum

Здесь ссылка на сообщение github объяснила подробности @juke:

Копия script:

--- deviceClass.js  2017-05-05 07:10:40.000000000 -0700
+++ deviceClass.js.NEW  2017-05-05 07:13:36.000000000 -0700
@@ -12,6 +12,7 @@
     dbCoreClass = require('./dbCoreClass.js'),
     xcsutil = require('../util/xcsutil.js'),
     logger = require('../util/logger.js'),
+    fs = require('fs'),
     redisClass = require('./redisClass.js');

 /* XCSDeviceClass object */
@@ -141,12 +142,11 @@
         query.endkey = [unitTestUUID, {}];
     }

-    redisClass.getDynamicQuery(req, doc_type, function DEVListRedisGetDynamicQuery(err, docs) {
-        if (err) {
-            opFailed(err);
-        } else if (docs) {
+    var devicesFile = '/Library/Developer/XcodeServer/Logs/xcs_devices.json';
+    fs.readFile(devicesFile, 'utf8', function (err,docs) {
+        if (docs) {
             docs = JSON.parse(docs);
-            log.info('Found', docs.length, 'devices in Redis.');
+            log.info('Found', docs.length, 'devices in file-system cache.');
             opSucceeded(docs);
         } else {
             log.debug('No devices found in Redis. Falling back to CouchDB.');
@@ -167,9 +167,12 @@
                 } else {
                     log.info('Found', docs.length, 'devices in CouchDB.');

-                    redisClass.setDynamicQuery(req, doc_type, JSON.stringify(docs), function DEVListRedisSetDynamicQuery(err, wasSaved) {
-                        if (wasSaved) {
-                            log.debug('Successfully cached devices to Redis.');
+                    fs.writeFile(devicesFile, JSON.stringify(docs), 'utf8', function(err) {
+                        if (err) {
+                            log.debug('Problem saving devices into ' + devicesFile);
+                        }
+                        else {
+                            log.debug('Successfully cached devices to file.');
                         }
                         // Even if there an error (i.e. Redis suddenly went down), we can still continue since
                         // the next request would be redirected to CouchDB.

Как подать заявку. Загрузите или скопируйте этот script и файл существующего пути следующим образом:

[sudo] cd /Library/Developer/XcodeServer/CurrentXcodeSymlink/Contents/Developer/usr/share/xcs/xcsd/classes
    patch deviceClass.js /path/to/xcs-tweaks/xcs-devices-patch.diff

Затем перезапустите симулятор и, возможно, перезагрузите компьютер (это был мой случай). Затем проверьте, работает ли он: sudo xcrun xcscontrol --list-simulators

Большое спасибо @juke, кто бы вы ни были:)