Fehlerbehebung
1. Runner gibt Fehler 404 aus
Lösung
Getting 401 error code from Runner
2. Problem mit Gathering Facts für localhost
Das Problem kann bei Semaphore UI auftreten, wenn es über Snap oder Docker installiert wurde.
4:10:16 PM
TASK [Gathering Facts] *********************************************************
4:10:17 PM
fatal: [localhost]: FAILED! => changed=false
Warum das passiert
Weitere Informationen zur Verwendung von localhost in Ansible finden Sie im Artikel Implicit 'localhost'.
Ansible versucht, Facts lokal zu sammeln, aber Ansible befindet sich in einem eingeschränkten, isolierten Container, der dies nicht erlaubt.
Lösung
Es gibt zwei Möglichkeiten:
- Das Sammeln von Facts deaktivieren:
- hosts: localhost
gather_facts: False
roles:
- ...
- Den Verbindungstyp explizit auf ssh setzen:
[localhost]
127.0.0.1 ansible_connection=ssh ansible_ssh_user=your_localhost_user
3. panic: pq: SSL is not enabled on the server
Das bedeutet, dass Ihr Postgres nicht über SSL arbeitet.
Lösung
Fügen Sie die Option sslmode=disable zur Konfigurationsdatei hinzu:
"postgres": {
"host": "localhost",
"user": "postgres",
"pass": "pwd",
"name": "semaphore",
"options": {
"sslmode": "disable"
}
},
4. fatal: bad numeric config value '0' for 'GIT_TERMINAL_PROMPT': invalid unit
Das bedeutet, dass Sie versuchen, über HTTPS auf ein Repository zuzugreifen, das eine Authentifizierung erfordert.
Lösung
- Öffnen Sie die Ansicht Schlüsselspeicher.
- Erstellen Sie einen neuen Schlüssel vom Typ
Login with password. - Geben Sie Ihren Login für GitHub/BitBucket usw. an.
- Geben Sie das Passwort an. Für GitHub/BitBucket können Sie nicht Ihr Kontopasswort verwenden; stattdessen sollten Sie ein Personal Access Token (PAT) verwenden. Weitere Informationen finden Sie hier.
- Öffnen Sie nach dem Erstellen des Schlüssels die Ansicht Repositories, suchen Sie Ihr Repository und geben Sie den Schlüssel an.
5. Git clone oder pull schlägt zeitweise fehl
Task-Logs können Meldungen wie Git pull failed (...), retrying in 2s enthalten, gefolgt entweder von einem Erfolg oder einem endgültigen Fehlschlag nach mehreren Versuchen.
Warum das passiert
Der Git-Server war vorübergehend nicht erreichbar oder hat einen vorübergehenden Fehler zurückgegeben. Semaphore wiederholt Clone- und Pull-Vorgänge automatisch, bevor der Task als fehlgeschlagen markiert wird.
Lösung
- Vorübergehende Ausfälle: Lösen sich in der Regel von selbst. Semaphore wiederholt den Vorgang bis zu
git_attempts-mal (Standard 4) mit exponentiellem Backoff. - Häufige Fehler: Erhöhen Sie
git_attemptsin Ihrer Konfiguration oder setzen SieSEMAPHORE_GIT_ATTEMPTS. - Sofortige, dauerhafte Fehler: Prüfen Sie Repository-URL, Branch, Zugriffsschlüssel und Netzwerkverbindung.
Siehe Git-Operationen für Konfigurationsdetails.
6. unable to read LDAP response packet: unexpected EOF
Höchstwahrscheinlich versuchen Sie, sich über eine unsichere Methode mit dem LDAP-Server zu verbinden, obwohl dieser eine sichere Verbindung (über TLS) erwartet.
Lösung
Aktivieren Sie TLS in Ihrer config.json-Datei:
...
"ldap_needtls": true
...
7. LDAP Result Code 49 "Invalid Credentials"
Sie haben ein falsches Passwort oder einen falschen binddn.
Lösung
Verwenden Sie das Tool ldapwhoami und prüfen Sie, ob Ihr binddn funktioniert:
ldapwhoami\
-H ldap://ldap.com:389\
-D "CN=/your/ldap_binddn/value/in/config/file"\
-x\
-W
Es fragt interaktiv nach dem Passwort und sollte den Code 0 zurückgeben und den angegebenen DN ausgeben.
Sie können auch die folgenden Artikel lesen:
8. LDAP Result Code 32 "No Such Object"
Demnächst verfügbar.