Вопрос

Я пытаюсь настроить бот Xcode с сервером OSX. После настройки репозитория Git и создание бота я бегаю интеграцию. Это не удается, потому что репозиторий проверяется только частично. Точнее: из 6 настроек подмодулей, только 3 инициализированы и вычеты.

didi@mac:/Library/Server/Xcode/Data/BotRuns/Cache/c5fda8f4-4d25-4d25-c18a-eb0b16a06692/source$ git submodule status
+c6e8420aec4147641fb1ca12d9f1d31bdd804e77 libs/asi-http-request (v1.7-320-gc6e8420)
-ae64a38766b42f236bb94f0e661cddb829f9ac43 libs/kraken
-7da02b323636bbaa0bbbf5b4eb229fcc07b1e14a libs/route-me
 152f9ee5576e710705a49032253d7d5af5366f9c libs/routing (152f9ee)
 347aaf74fe0c6388785095efdbf6397851514b7f libs/rtlabel (1.0-32-g347aaf7)
-562cf6b1c879f03546f5184e012cea15c4f159db libs/skmaps
.

(- означает не инициализированные)

Смотреть журнал бота, похоже, просто игнорируют отсутствующие подмодулы в подмодуле инициализации детали:

...
Checking connectivity... done
Submodule 'libs/asi-http-request' (https://github.com/BikeCityGuide/asi-http-request.git) registered for path 'libs/asi-http-request'
Submodule 'libs/routing' (ssh://mac_ci@rooty.bikecityguide.org/var/repos/librouting.git) registered for path 'libs/routing'
Submodule 'libs/rtlabel' (https://github.com/BikeCityGuide/RTLabel.git) registered for path 'libs/rtlabel'
Cloning into 'libs/asi-http-request'...
...
.

Нет сообщения об ошибке здесь или где угодно. Нет единого упоминания об е. «Кракен» (название пропавшего подмодуля) в любом месте в журналах.

При проверке вручную (клон, подмодуль init, обновление подмодуля), все подмодулы инициализируются.

.gitmodules выглядит так:

$ cat .gitmodules 
[submodule "libs/asi-http-request"]
    path = libs/asi-http-request
    url = https://github.com/BikeCityGuide/asi-http-request.git
[submodule "libs/rtlabel"]
    path = libs/rtlabel
    url = https://github.com/BikeCityGuide/RTLabel.git
[submodule "libs/routing"]
    path = libs/routing
    url = ../librouting.git
[submodule "libs/kraken"]
    path = libs/kraken
    url = ../kraken_ios.git
[submodule "libs/route-me"]
    path = libs/route-me
    url = ../route-me.git
[submodule "libs/skmaps"]
    path = libs/skmaps
    url = ../skmaps.git
.

Базовый репозиторий и 4 репозитории подмодуля, на которые ссылается относительный URL, все необходимость аутентификации SSH. Пользователь, настраиваемый на сервере OSX, имеет доступ ко всем их. Журнал бота не содержит следов пытаться потянуть недостающие подмодулы.

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

git версия 1.8.4.2

У меня нет идеи.

Это было полезно?

Решение

на xCode 6.1.1 и OS X Server 4.0, похоже, они исправили подмодулы с отдельным проблемой головки, но все еще есть ошибки.Одним из моих проектов является одним из его подмодулей, которые полностью игнорируются XCODE Server, поэтому приложение не выполняется:

$ git submodule
 8a88bc41c9dc0f57c921d82bc4e7b93e1c4cbf7a InAppStore (heads/master)
 e4203f9f61d2546868c1274da5c7a0c56b87a737 Libraries (heads/master)  <--- IGNORED
 01902f255e6c3d90f0db41cb62dd2934098b98dd MixpanelTracker (heads/master)
 e2bee59accd817d50dff881a42c9e9afe307226f XLFacility (1.4.1-5-ge2bee59)
.

Исправление для меня было добавить триггер для скрипта до интеграции как таковой:

cd "$XCS_SOURCE_DIR/{YOUR_APP_REPO_NAME_WITHOUT_DOT_GIT_SUFFIX}"
git submodule update --init --recursive
.

На данный момент вещами строились, хотя были не смертельные предупреждения о проверке, не быть чистым или что-то в этом роде.Они ушли, когда я изменился на конфигурацию бота, чтобы «убирать», установленную на «всегда».

Другие советы

в сервере xcode 9, подмодулы не инициализируются, если ни один из файлов подмодулей не будет ссылаться на один из проектов Xcode в рабочей области.

Это может произойти, например, когда вы включите файл заголовка из подмодуля, который не является частью вашего кода, и поэтому вы добавили его в «Путей поиска заголовков» (C / C ++) вместо добавления его в проект,

Возможный обходной путь состоит в том, чтобы добавить хотя бы один файл из подмодуля в проект Xcode.Это может даже быть файлом Readme.md. Это проще, чем проверка подмодулей, использующих пользовательский скрипт, поскольку он опирается на XCode Server для хранения ваших учетных данных GIT.

Я понимаю его ошибку. У меня были те же проблемы и обнаружили, что есть проблема с отдельными подмодулями. Смотрите следующую статью, которая показывает, как исправить эту проблему (не помогает в публичном хранилище) http://ikennd.ac/blog/2013/10 / XCODE-BOTS-CONLECTION-ПРОБЛЕМЫ и обходные пути /

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top