Rozwiązywanie problemów z repozytorium kodu
Ważne
Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Chociaż możesz nadal używać programu Visual Studio App Center do momentu jego pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.
Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.
Repozytorium nie znajduje się na liście w kroku Łączenie z repozytorium
- Obsługiwane są tylko repozytoria Git. Inne typy repozytoriów, takie jak Mercurial, TFVC itd., nie będą wyświetlane na liście repozytoriów.
- Połączenie z repozytorium należącym do użytkownika musi być wykonywane przez właściciela. Jeśli nie jesteś właścicielem, nadal możesz dołączyć aplikację, zapraszając właściciela repozytorium jako współpracownika w Centrum aplikacji. Następnie właściciel może połączyć repozytorium jako źródło z usługą kompilacji Centrum aplikacji.
- Nawiązywanie połączenia z repozytorium należącym do organizacji w usłudze GitHub lub zespole w usłudze Bitbucket wymaga dostępu administratora do repozytorium. Ten dostęp jest wymagany, ponieważ centrum aplikacji zarejestruje element webhook w repozytorium pochodzącym z domeny appcenter.ms.
- W przypadku repozytoriów GitHub może być konieczne zatwierdzenie początkowego żądania dostępu przez członka organizacji z uprawnieniami właściciela. Zapoznaj się z instrukcjami usługi GitHub dotyczącymi zatwierdzania aplikacji innych firm w organizacji. Wyświetlenie repozytoriów z tej organizacji w centrum aplikacji może potrwać do kilku minut.
Podczas konfigurowania gałęzi pojawia się komunikat o błędzie informujący o tym, że "nie można odnaleźć projektów" w mojej gałęzi
Porada
Usługa Build service ma 30-sekundowy limit czasu przeszukiwania repozytorium. Duże lub złożone projekty mogą nie być indeksowane w tym limicie czasu. W takim przypadku, jeśli nie jest możliwe oddzielne hostowanie projektu docelowego, możesz zamiast tego rozważyć użycie usługi Azure Pipelines .
Usługa App Center analizuje zawartość gałęzi w repozytorium, aby znaleźć projekt aplikacji pasujący do platformy wybranej dla aplikacji w centrum aplikacji. Przyjęto założenie, że projekt używa standardów specyficznych dla platformy do konfiguracji, czyli projektu Xcode lub obszaru roboczego dla aplikacji systemu iOS, projektu Gradle dla aplikacji systemu Android oraz rozwiązania lub projektu dla aplikacji platformy Xamarin.
Usługa App Center obecnie wyszukuje tylko cztery poziomy katalogu głęboko dla plików projektu. Jeśli centrum aplikacji nie znajdzie projektu w gałęzi, przeniesienie go do katalogu głównego może pomóc. Jeśli repozytorium jest duże, może to pomóc zmniejszyć jego rozmiar lub liczbę plików.
Czy mogę używać repozytoriów lokalnych?
Usługa App Center obsługuje obecnie repozytoria Git hostowane w chmurze w usłudze Azure DevOps (wcześniej znanej jako Visual Studio Team Services (VSTS)), Bitbucket i GitHub, ale nie obsługuje repozytoriów lokalnych.
Połączenie repozytorium zostało przerwane po...
Zmiana nazwy repozytorium
Spowoduje to przerwanie połączenia. Aby rozwiązać ten problem, wróć do oryginalnej nazwy lub utwórz nowe repozytorium o oryginalnej nazwie.
Zmiana własności konta
Jeśli użytkownik, który pierwotnie połączył repozytorium, ma uprawnienia dostępu do tego repozytorium odwołanego z powodu usunięcia z Centrum aplikacji lub własności repozytorium, zazwyczaj ponowne łączenie repozytorium wymaga usunięcia starego połączenia i ponownego utworzenia go ponownie.
Ostrzeżenie
Odłączenie repozytorium spowoduje usunięcie konfiguracji i artefaktów przechowywanych w kompilacji centrum aplikacji. Możesz ręcznie utworzyć kopię zapasową danych przed odłączeniem, aby je zachować.
Nawiązałem połączenie z niewłaściwym kontem. Jak mogę ponownie nawiązać połączenie z poprawnym?
Odłącz konto repozytorium i połącz się ponownie z poprawnym:
Podczas nawiązywania połączenia z repozytorium Usługi Azure DevOps widzę komunikat "Nie znaleziono projektów"
Jest to możliwe, gdy najpierw próbujesz połączyć centrum aplikacji z usługą Azure DevOps (dawniej VSTS), że jest ona autoryzowana w niewłaściwej organizacji. Ustal , które konta usługi Azure DevOps są przeznaczone dla organizacji , i upewnij się, że twoje konto jest wyświetlane. Podczas próby ukończenia przepływu uwierzytelniania w usłudze Azure DevOps sprawdź, czy komunikat odczytuje komunikat Aplikacja żąda następujących uprawnień z email@example.com (organizacji).
Inną możliwością jest wyłączenie uwierzytelniania OAuth w obszarze Ustawienia zasad zabezpieczeń. Postępuj zgodnie z poniższymi wskazówkami , aby je włączyć.
Czy moduły podrzędne Git są obsługiwane?
W przypadku repozytoriów hostowanych w usługach GitHub i Azure DevOps moduły podrzędne Git za pośrednictwem protokołu HTTPS są obsługiwane przy użyciu tego samego uwierzytelniania co repozytorium nadrzędne. W przypadku repozytoriów hostowanych w usłudze Bitbucket obecnie obsługiwane są tylko nieuwierzytelnione moduły podrzędne Git.
Nawiązano połączenie z usługą Bitbucket, a kompilacje kończą się niepowodzeniem z powodu błędu usługi Git
Jeśli kompilacje kończą się niepowodzeniem z powodu błędu podobnego do
"fatal: reference is not a tree:..
##[error]Git checkout failed with exit code: 128",
spróbuj wykonać następujące czynności:
- Przejdź do sekcji Elementy webhook połączonego konta usługi Bitbucket i wyszukaj wszystkie wyłączone elementy webhook z appcenter.ms & mobile.azure.com
- Ponowne włączanie elementów webhook
- Zatwierdź zmianę w repozytorium/gałęzi, której dotyczy problem, i spróbuj utworzyć nową kompilację
Jeśli problem będzie się powtarzać, skontaktuj się z pomocą techniczną centrum aplikacji .
Co mogę zrobić, jeśli używam Kontrola wersji serwera Team Foundation (TFVC)?
Usługa App Center Build obsługuje tylko repozytoria Git. W przypadku projektów korzystających z repozytorium kontroli wersji serwera Team Foundation można je przekonwertować na usługę Git lub użyć usługi Azure DevOps do ciągłej integracji oraz skorzystać z hostowanych agentów systemu macOS i zadań kompilacji dla dystrybucji i testowania w usłudze App Center.
Czy mój kod źródłowy jest bezpieczny?
Usługa App Center używa maszyn wirtualnych do kompilowania kodu. Po zakończeniu kompilacji jest aprowizowana czysta maszyna wirtualna, która zostanie odrzucona. Pliki przekazane do podpisywania kodu i hasło certyfikatu są również bezpiecznie przechowywane na naszych serwerach.
Aby uzyskać więcej informacji, przeczytaj nasz dokument usługi App Center Security.