Feilsøking
Vanlige problemer og hvordan du løser dem. Hver del lenker til den relevante referansesiden for mer sammenheng.
Autentisering og innlogging
E-posten for tilbakestilling av passord kommer ikke fram
Sjekk søppelpostmappen. E-poster for tilbakestilling av passord kommer fra hello@frem.sh. Hvis organisasjonen din bruker SSO, er tilbakestilling av passord ikke riktig vei. Bruk i stedet knappen Logg inn med <IdP> på innloggingssiden. SSO-kontoer har ikke nødvendigvis et lokalt passord.
SSO-innlogging feiler med redirect_uri mismatch
IdP-en avviste tilbakekallet fordi redirect-URI-en som er registrert der, ikke stemmer nøyaktig med det fremforge sender. Redirect-URI-en er https://frem.sh/user/oauth2/<auth-source-name>/callback, der <auth-source-name> er det nøyaktige Navn på autentiseringskilden slik det vises på kortet i Organisasjonsadministrasjon → SSO; kopier navnet i stedet for å skrive det inn. En enkelt avsluttende skråstrek er nok til å gi denne feilen. Se Single sign-on med OIDC.
SSH: Permission denied (publickey)
Tre vanlige årsaker:
- Nøkkelen er ikke lagt til i fremforge-kontoen din (Brukerinnstillinger → SSH- / GPG-nøkler → Legg til nøkkel).
- Nøkkelfilen som SSH-klienten din viser til, tilhører en annen brukerkonto.
- Nøkkelformatet støttes ikke (Ed25519, RSA 3072+ og ECDSA støttes; DSA-nøkler avvises).
Test nøkkelen din: ssh -T -p 443 git@ssh.frem.sh; fremforge eksponerer SSH på port 443 via ssh.frem.sh (port 22 er ikke åpen). En vellykket autentisering returnerer Hi <username>! You've successfully authenticated.... Se Kom i gang for oppsett av nøkler og Koble til fremforge for Host-aliaset i ~/.ssh/config som lar deg fortsette å skrive git@frem.sh i remotene dine.
PAT utløpt / 401 på API-kall
PAT-er utløper etter 90 dager, som også er maksimum (ttl_days godtar 1–90). Sjekk:
- At tokenet fortsatt står under Brukerinnstillinger → Git-tilgangstokener.
- At tokenet har scopet som kreves. REST-kall mot kontrollplanet bruker fremforges scope-vokabular (
orgs:read,findings:read, …) – se API-tokener. Pakkeregistre tar ikke imot PAT-er i det hele tatt; se Pakker / register nedenfor. - At tokenverdien ble kopiert riktig (den vises bare én gang, når tokenet opprettes).
Generer et nytt token hvis du er i tvil.
CI / runnere
Jobben står fast i køen
Organisasjonen er garantert 2 samtidige jobber per bruker (minst 10, høyst 60) og kan bruke opptil 60 når plattformen har ledig kapasitet. En organisasjon på prøveperiode kjører 2 om gangen. Sjekk hvor mange jobber som kjører nå, på frem.sh/<org>/_admin/billing. Hvis alle organisasjonens jobbenheter er opptatt, venter jobbene i køen til en jobbenhet blir ledig. De avbrytes ikke.
Hvis køen er tom, men jobbene fortsatt står fast, kan runner-agenten være frakoblet. Sjekk runner-statusen i organisasjonens Forgejo-innstillinger under Innstillinger → Actions → Runnere (frem.sh/org/<org>/settings/actions/runners).
actions/checkout feiler: repository not found
Det innebygde FORGEJO_TOKEN trenger tilgangen contents: read. Legg til en permissions:-blokk i jobben eller workflowen:
permissions:
contents: readHvis repositoryet er privat og tokenet er et PAT i stedet for det innebygde tokenet, bekrefter du at PAT-et har scopet repo.
Secreten er satt, men vises som tom i jobben
Secreten er satt på feil nivå. Secrets følger denne rekkefølgen: miljø-secret → repository-secret → organisasjons-secret. Hvis jobben din deklarerer environment: production, settes bare secrets fra det miljøet inn (og repository- og organisasjons-secrets som ikke skygges av det). Sjekk at secreten er satt på nivået som stemmer med jobbens environment:-deklarasjon.
Docker: Cannot connect to the Docker daemon
fremforges runnere er flyktige VM-er, én per commit (debian 13), med en innebygd Docker-daemon ferdig installert. docker build, docker run og docker/build-push-action@v5 fungerer uten ekstra oppsett. Hvis du ser denne feilen, sjekker du at jobben deklarerer runs-on: fremforge (slik at den havner på en fremforge-runner og ikke på en selvhostet etikett uten Docker):
jobs:
build-image:
runs-on: fremforge
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: registry.example.com/${{ github.repository }}:${{ github.sha }}For ren kopiering, ny tagging og push av imager mellom registre er skopeo ferdig installert. Se CI-runnere for tilgjengelige runner-etiketter og docs.frem.sh/build/actions/runner-image/ for hele listen over ferdig installerte verktøy.
upload-artifact prøver på nytt ved 413 og feiler så med Status Code: 413
Organisasjonens kvote for Actions-artefakter (5 GiB per bruker) er full. Steg-loggen viser A 413 status code has been received, will attempt to retry the upload flere ganger, deretter Status Code: 413 og Status Message: Request Entity Too Large. Det hjelper ikke å kjøre jobben på nytt før noe er slettet og kvoten har fått rom igjen. Se Actions-artefakter og vedlegg.
Action not found: uses: some/action@v1
De fleste actions fra GitHub Marketplace fungerer på fremforge. Actions som kaller github.com/api/v3 direkte, feiler fordi de går mot GitHub-API-et, ikke fremforge-API-et. Se Marketplace-kompatibilitet for kompatibilitetsmatrisen per action.
Git og repositoryer
Push avvist: secret oppdaget
Gitleaks (pre-receive-hook) blokkerte pushen fordi et mønster for secrets ble oppdaget i commiten. Pushen ble ikke godtatt. Secreten nådde aldri repositoryet.
Slik løser du det:
- Roter secreten umiddelbart i systemet som utstedte den, selv om pushen ble avvist. Gå ut fra at verdien er kompromittert fra det øyeblikket den dukket opp i arbeidstreet ditt.
- Fjern secreten fra arbeidstreet og commit-historikken med
git filter-repo. - Push den rensede historikken på nytt.
Se Sikkerhet og forsyningskjede for detaljer om hvilke mønstre som oppdages.
Push avvist: branchbeskyttelse
En regel for branchbeskyttelse blokkerer pushen. Sjekk reglene under Repo-innstillinger → Brancher → <branch name>. Vanlige årsaker: en påkrevd statussjekk har ikke bestått, force-push er slått av, eller pushen krever en signert commit.
LFS: batch request failed
Git LFS er tilgjengelig i alle repositoryer; det finnes ingen bryter per repository som må slås på. Repo-innstillinger → LFS viser LFS-filene repositoryet allerede lagrer. Hvis feilen vedvarer, sjekker du organisasjonens lagringskvote. LFS-lagring teller mot LFS-potten på 5 GB per bruker, som er atskilt fra potten for pakkeregisteret på 5 GB per bruker.
Webhooks
Webhooken utløses ikke
Sjekk de siste leveringsforsøkene under Repo-innstillinger → Webhooks → <webhook> → Nylige leveringer. Den vanligste årsaken er at payload-URL-en ikke kan nås fra fremforges IP-adresser for utgående trafikk i T Cloud Public. Hvis leveringer vises som mislykket, inneholder svarkroppen som regel HTTP-statusen endepunktet ditt returnerte. Se Webhooks for IP-områdene for utgående trafikk.
Webhooken utløses, men innholdet er feil
Bekreft hvilke hendelsestyper som er abonnert på. En push til en tag sender en push-hendelse, ikke en create-hendelse. Sjekk konfigurasjonen under Hendelser på webhooken. Se Webhooks for hele hendelsesvokabularet.
SSO / SCIM
Bruker provisjonert via SCIM, men kan ikke logge inn
Domenebekreftelse kreves før brukere som er provisjonert via SCIM, kan autentisere seg. Bekreft e-postdomenet under Organisasjonsadministrasjon → SSO → Bekreftede domener. Domenet i brukerens e-postadresse må stå der.
Pakker / register
Registrene godtar bare to typer legitimasjon: det automatiske tokenet til en Forgejo Actions-jobb og det kortlivede tokenet som fremforge-CLI-en gir verktøyene dine. API-tokener (ffp_…) avvises. Se
Pakkeregister → Autentisering.
Actions-jobb: 403 this job's token can only write packages linked to its own repository
Jobben prøvde å publisere en pakke som hører til et annet repository i organisasjonen, eller en som ikke er knyttet til noe repository. Tokenet til en jobb skriver bare pakker som er knyttet til jobbens eget repository, og nye pakker som den oppretter. Publiser fra repositoryet pakken hører til, eller knytt en pakke uten tilknytning til dette repositoryet på pakkens side Innstillinger.
Actions-jobb: 401 eller 403 ved publisering fra en pull request
Kjøringer for pull requests fra forker får bare lesetilgang. Publiser fra en workflow for push eller tag i selve repositoryet.
docker pull eller push: unauthorized
Sjekk CLI-innloggingen og hjelperen på maskinen din:
fremforge auth status
printf 'frem.sh\n' | docker-credential-fremforge get # prints JSON when the helper worksnot logged in→ kjørfremforge auth login.docker-credential-fremforge: command not found→ mappen til hjelperen (~/.local/bin) står ikke iPATH, ellerfremforge auth configure dockerble aldri kjørt.fremforge manages frem.sh registry credentialsetterdocker login frem.sh→ forventet; hjelperen avviser lagrede passord. Brukfremforge auth login.
npm, Maven eller Gradle: 401 etter en stund
Disse verktøyene leser en kopi av tokenet fra konfigurasjonsfilen sin, og den kopien utløper etter
høyst en time. Kjør en hvilken som helst fremforge-kommando, eller fremforge auth refresh, for å skrive den på nytt. Legg til
"preinstall": "fremforge auth refresh --quiet" i package.json, eller et steg før bygging i
IDE-en din, slik at bygg alltid starter med et ferskt token.
pip eller uv: 401 eller spørsmål om passord
pip og uv spør bare keyring når de blir bedt om det: pip config set global.keyring-provider subprocess,
eller UV_KEYRING_PROVIDER=subprocess for uv. Indeks-URL-en må inneholde brukernavnet ditt
(https://<username>@frem.sh/api/packages/<org>/pypi/simple/). Sjekk at keyring i
~/.local/bin kommer først i PATH: command -v keyring.
Ledige slugs og navn for organisasjoner
Organisasjonens slug må være 3–30 tegn, med små bokstaver, og bare bestå av bokstaver, sifre og bindestreker, uten bindestrek først eller sist.
Hvis en slug vises som utilgjengelig under registreringen, er den enten registrert av en annen organisasjon eller står på listen over reserverte navn. Den reserverte listen dekker vanlige rollenavn (admin, api, billing, support, status, security, abuse, root, system, fremforge og lignende) for å hindre phishing eller kollisjoner med tjenestestier.
Navn som ligger nær varemerker (f.eks. slugs som ligner mye på kjente merkenavn), havner i en kø for skjønnsmessig gjennomgang i stedet for å bli blokkert med en gang. Hvis registreringen din står i køen, får du en e-post fra support@frem.sh innen én arbeidsdag. I de fleste tilfeller blir seriøse selskaper som bruker sitt eget merkenavn, godkjent uten problemer.
Hvis slugen du ønsker deg, er tatt av en inaktiv organisasjon eller en som bare holder på navnet, kontakter du support@frem.sh. Oppgi ønsket slug og organisasjonens domene eller annen dokumentasjon på eierskap. Overføring av slugs vurderes i hvert enkelt tilfelle.
Endre organisasjonens slug etter at den er opprettet: Organisasjonsadministrasjon → Innstillinger → Gi organisasjonen nytt navn. Alle eksisterende repository-URL-er, klone-URL-er og API-kall som bruker den gamle slugen, blir videresendt i 90 dager. Etter 90 dager kan den gamle slugen registreres av andre.
Se også
- Single sign-on med OIDC: oppsett og feilsøking av SSO
- Brukerprovisjonering med SCIM 2.0: håndtering av brukernes livssyklus
- CI-runnere: konfigurasjon og etiketter for runnere
- Webhooks: leveringslogger og hendelsestyper
- Sikkerhet og forsyningskjede: skanning etter secrets og push-beskyttelse
- Pakkeregister: oppsett av og autentisering mot registeret
- Marketplace-kompatibilitet: kompatibilitetsmatrise for actions
- Kom i gang: oppsett av SSH-nøkler