Dela via


CI/CD med Databricks Git-mappar (Repos)

Databricks Git-mappar kan användas i dina CI/CD-flöden. Genom att konfigurera Databricks Git-mappar på arbetsytan kan du använda källkontroll för arbete i Git-lagringsplatser och integrera dem i dina arbetsflöden för datateknik. En mer omfattande översikt över CI/CD med Azure Databricks finns i CI/CD på Azure Databricks.

Användningsflöden

Det mesta av arbetet med att utveckla automatisering för Git-mappar består av den inledande konfigurationen för dina mappar och att förstå Azure Databricks Repos REST API:et som du använder för att automatisera Git-åtgärder från Azure Databricks-jobb. Innan du börjar skapa din automatisering och konfigurerar mappar bör du granska de fjärranslutna Git-lagringsplatser som du kommer att införliva i dina automationsflöden och välja rätt för de olika stegen i automatiseringen, inklusive utveckling, integrering, mellanlagring och produktion.

  • Administratörsflöde: För produktionsflöden konfigurerar en Azure Databricks-arbetsyteadministratör mappar på den översta nivån på din arbetsyta som värd för git-produktionsmapparna. Administratören klonar en Git-lagringsplats och -gren när de skapas och kan ge dessa mappar meningsfulla namn som "Produktion", "Test" eller "Mellanlagring" som motsvarar de fjärranslutna Git-lagringsplatsernas syfte i dina utvecklingsflöden. Mer information finns i Git-mapp för produktion.
  • Användarflöde: En användare kan skapa en Git-mapp under /Workspace/Users/<email>/ baserat på en fjärransluten Git-lagringsplats. En användare skapar en lokal användarspecifik gren för det arbete som användaren ska committa till den och skicka till fjärrrepo. Information om hur du samarbetar i användarspecifika Git-mappar finns i Samarbeta med Git-mappar.
  • Sammanslagningsflöde: Användare kan skapa pull-requests (PR) efter att de har pushat från en Git-mapp. När PR:en slås samman kan automatisering hämta ändringarna i produktionsmapparna i Git med hjälp av Azure Databricks Repos API:et.

Samarbeta med Git-mappar

Du kan enkelt samarbeta med andra med hjälp av Git-mappar, hämta uppdateringar och skicka ändringar direkt från Azure Databricks-användargränssnittet. Du kan till exempel använda en funktion eller utvecklingsgren för att aggregera ändringar som gjorts i flera grenar.

I följande flöde beskrivs hur du samarbetar med en funktionsgren:

  1. Klona din befintliga Git-lagringsplats till databricks-arbetsytan.
  2. Använd användargränssnittet för Git-mappar för att skapa en funktionsgren från huvudgrenen. Du kan skapa och använda flera funktionsgrenar för att utföra ditt arbete.
  3. Gör dina ändringar i Azure Databricks-notebook-filer och andra filer på lagringsplatsen.
  4. Lagra och pusha dina ändringar till den fjärranslutna Git-repositoriet.
  5. Deltagare kan nu klona Git-lagringsplatsen till sin egen användarmapp.
    1. När man arbetar med en ny gren gör en medarbetare ändringar i anteckningsböckerna och andra filer i Git-mappen.
    2. Deltagaren kommittar och pushar sina ändringar till den fjärranslutna Git-repositoryn.
  6. När du eller andra deltagare är redo att slå samman koden skapar du en PR på Git-providerns webbplats. Granska koden med ditt team innan du sammanfogar ändringarna i distributionsgrenen.

Anmärkning

Databricks rekommenderar att varje utvecklare arbetar på sin egen gren. Information om hur du löser sammanslagningskonflikter finns i Lösa sammanslagningskonflikter.

Välj en CI/CD-metod

Databricks rekommenderar att du använder Databricks-tillgångspaket för att paketera och distribuera dina CI/CD-arbetsflöden. Om du föredrar att endast distribuera källkontrollerad kod till arbetsytan kan du konfigurera en Git-produktionsmapp. En mer omfattande översikt över CI/CD med Azure Databricks finns i CI/CD på Azure Databricks.

Tips/Råd

Definiera resurser som jobb och pipelines i källfiler med hjälp av paket, skapa, distribuera och hantera paket i Git-mappar på arbetsytan. Se Samarbeta om paket på arbetsytan.

Git-mapp för produktion

Git-produktionsmappar har ett annat syfte än Git-mappar på användarnivå som finns i användarmappen i /Workspace/Users/. Git-mappar på användarnivå fungerar som lokala utcheckningar, där användarna utvecklar och push-överför kodändringar. Däremot skapas Git-produktionsmappar av Databricks-administratörer utanför användarmappar och innehåller grenar för produktionsdistribution. Git-produktionsmappar innehåller källan för automatiserade arbetsflöden och bör endast uppdateras programmatiskt när pull-begäranden (PR) slås samman i distributionsgrenarna. När det gäller Git-produktionsmappar begränsar du användaråtkomsten till att endast tillåta körning och tillåter endast administratörer och Azure Databricks-berättigande att redigera.

Git-produktionsmappar mappade till huvudgrenen på en fjärrlagringsplats.

Så här skapar du en Git-produktionsmapp:

  1. Välj en Git-lagringsplats och -gren för distribution.

  2. Hämta tjänstens huvudnamn och konfigurera en Git-autentiseringsuppgift för tjänstens huvudnamn för åtkomst till den här Git-lagringsplatsen.

  3. Skapa en Azure Databricks Git-mapp för Git-lagringsplatsen och grenen i en undermapp under Workspace dedikerad till ett projekt, ett team och en utvecklingsfas.

  4. Välj Dela när du har valt mappen eller Dela (behörigheter) genom att högerklicka på mappen under arbetsyteträdet . Konfigurera Git-mappen med följande behörigheter:

    • Ange Kan köras för alla projektanvändare
    • Ange Kan köras för alla Azure Databricks-tjänstens huvudkonton som ska köra automatisering för den.
    • Om det är lämpligt för projektet anger du Kan visa för alla användare i arbetsytan för att uppmuntra upptäckande och delning.

    Modaldialogrutan för att dela Git-mapp.

  5. Välj Lägg till.

  6. Konfigurera automatiska uppdateringar av Databricks Git-mappar. Du kan använda automatisering för att hålla en Git-produktionsmapp synkroniserad med fjärrgrenen genom att göra något av följande:

    • Använd externa CI/CD-verktyg som GitHub Actions för att hämta de senaste ändringarna till en produktions-Git-mapp när en pull request slås samman i distributionsgrenen. Ett Github Actions-exempel finns i Köra ett CI/CD-arbetsflöde som uppdaterar en Git-mapp för produktion.
    • Om du inte kan komma åt externa CI/CD-verktyg skapar du ett schemalagt jobb för att uppdatera en Git-mapp på din arbetsyta med fjärrgrenen. Schemalägg en enkel notebook-fil med följande kod som ska köras regelbundet:
    from databricks.sdk import WorkspaceClient
    w = WorkspaceClient()
    w.repos.update(w.workspace.get_status(path=”<git-folder-workspace-full-path>”).object_id, branch=”<branch-name>”)
    

Mer information om automatisering med Azure Databricks Repos API finns i dokumentationen för Databricks REST API för Repos.