Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Automatisoi Fabric-sovelluksen käyttöönotto GitHub-repositoriosta Fabric-työtilaan käyttämällä GitHub Actions -työnkulkua. Työnkulku kirjautuu sisään Fabric palvelupäähenkilön kanssa, asentaa Rayfin-komentoketjun ja suorittaa rayfin up soveltaakseen koodisi, tietokantaskeemasi ja staattisen sisällön kohdetyötilaan.
Tässä artikkelissa opit:
- Valmistele palvelupäähenkilö ja Fabric-työtila automatisoituja käyttöönottoja varten.
- Määritä GitHub-repositorion salaisuudet, joita työnkulku tarvitsee.
- Lisää käyttöönoton työnkulkutiedosto repositorioosi.
- Käynnistä käyttöönotto automaattisesti
mainja manuaalisesti sekä valinnaisella tuhoavan muutoksen tuella. - Käytä samaa työnkulkua uudelleen ominaisuushaaroissa ja ympäristökohtaisissa käyttöönotossa.
Edellytykset
- Fabric-sovellusprojekti GitHub-repositoriossa. Jos sinulla ei vielä ole sellaista, katso Luo ensimmäinen Fabric Apps -projektisi ja työnnä sovelluskoodisi repositorioon.
- Fabric-työtila, johon palvelun päämies voi ottaa käyttöön. Ympäristön erottamisesta katso Hallinnoi kehitys- ja tuotantoympäristöjä.
- Microsoft Entra ID -palvelupäähenkilö (sovelluksen rekisteröinti), jossa on asiakassalaisuus.
- Lupa lisätä secrets GitHub-repositorioon.
Vaihe 1: Luo palveluperiaate käyttöönottoja varten
Työnkulku kirjautuu sisään ei-interaktiivisesti, joten se käyttää palvelupäätä interaktiivisen käyttäjätilin sijaan.
- Azure-portaalissa rekisteröi uusi hakemus Microsoft Entra ID>App registrations.
- Tallenna sovelluksen (asiakas) ID ja Directory (vuokralaisen) ID.
- Sertifikaatit & salaisuudet -osiossa luo uusi asiakassalaisuus ja kopioi arvo. Säilytä se turvallisesti: et voi katsoa sitä uudelleen myöhemmin.
- Anna palvelupäähenkilölle Contributor tai korkeampi oikeus kohde-Fabric työtilaan, jotta se voi luoda ja päivittää Fabric sovelluksen kohteen.
Important
Palvelupäähenkilöiden käyttöönotot vaativat Fabric-vuokralaisasetuksia, jotka sallivat palveluperiaatteiden käyttää Fabric-rajapintoja. Varmista Fabric-ylläpitäjältäsi, että tämä on käytössä.
Vaihe 2: Lisää tietovaraston salaisuudet
GitHub-repositoriossasi mene Settings>Secrets and variables>Actions ja lisää seuraavat repositorion salaisuudet:
| Salaisen koodin nimi | Arvo |
|---|---|
CLIENT_ID |
Palvelupäähenkilön sovelluksen (asiakas) tunnus. |
TENANT_ID |
Hakemiston (vuokralaisen) tunnus. |
CLIENT_SECRET |
Asiakkaan salainen arvo. |
FABRIC_WORKSPACE_NAME |
Kohteen nimi Fabric työtila (esimerkiksi my-app-prod). |
Vaihe 3: Lisää työnkulkutiedosto
Luo arkistossasi tiedosto .github/workflows/deploy-to-fabric.yml , jossa on seuraava sisältö:
name: Deploy to Fabric
on:
push:
branches: [main]
workflow_dispatch:
inputs:
force:
description: 'Allow destructive schema changes that may result in data loss'
required: false
default: false
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
deploy:
name: Deploy to Fabric
runs-on: ubuntu-latest
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
TENANT_ID: ${{ secrets.TENANT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
FABRIC_WORKSPACE_NAME: ${{ secrets.FABRIC_WORKSPACE_NAME }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Rayfin CLI
run: npm install -g @microsoft/rayfin-cli
- name: Login to Rayfin with service principal
run: |
rayfin login \
--service-principal \
-t $TENANT_ID
-u $CLIENT_ID
-p CLIENT_SECRET
- name: Deploy to Fabric
run: |
EXTRA_ARGS=""
if [[ "${{ inputs.force }}" == "true" ]]; then
EXTRA_ARGS="$EXTRA_ARGS --force"
fi
rayfin up \
--workspace "$FABRIC_WORKSPACE_NAME" \
--yes \
$EXTRA_ARGS
Mitä kukin osio tekee
-
on.push: Suorittaa työnkulun automaattisesti jokaisella painalluksella .main -
on.workflow_dispatch: Lisää Run workflow -painikkeen GitHub Actions käyttöliittymään, jossa on force valintaruutu. Voimansiirtojen salliminen niin tuhoisiin skeemamuutoksiin (kuten sarakkeiden tai taulukoiden poistaminen) on sallittua.--forcerayfin upJätä se tarkistamatta turvallisten ja tuhoamattomien laukaisujen varalta. -
concurrency: Varmistaa, että vain yksi käyttöönotto per haara toimii samanaikaisesti. Jos uusi push osuu, kun edellinen deploy on vielä käynnissä, vanhempi juoksu perutaan ja tilalle tulee uusi commit. Tämä asetus estää kahdenrayfin uptehtävän kilpailemisen samalla työtilalla. -
env: Välittää palvelupäähenkilön tunnukset ja kohdetyötilan nimen tehtävään. -
Install Rayfin CLI: Asentaa CLI:n maailmanlaajuisesti, jotenrayfinse on PATHILLA. -
Login to Fabric with service principal: Tunnistautuu käyttäen*ympäristömuuttujia. -
Deploy to Fabric: Ajaarayfin upkonfiguroitua vuokralaista ja työtilaa vastaan.--yeshyväksyy ei-tuhoavat kehotteet;--forcelisätään vain, kun manuaalinen suoritus sitä pyytää.
Vaihe 4: Käynnistä käyttöönotto
Voit käynnistää työnkulun kahdella tavalla:
-
Automaattisesti: Työnnä tai yhdistä commit haarautumiseen
main. - Manually: GitHub:ssa mene Actions>Deploy to Fabric>Suorita workflow. Valitse haarautuminen ja halutessasi valitse Salli tuhoavat skeemamuutokset, jotka voivat johtaa tietojen menetykseen ennen suorituksen aloittamista.
Työnkulun päätyttyä Deploy to Fabric -vaihe tulostaa Fabric-sovelluksen URL-osoitteen ja käyttöönoton ID:n.
Huomioitavat asiat ja rajoitukset
- Samanaikaisuus on konttorikohtainen. Ne
concurrency.groupsisältävätgithub.ref, joten eri haarojen käyttöönotot eivät kumoa toisiaan. Tämä käyttäytyminen on tarkoituksellista, kun haarat kartoitetaan eri työtiloihin. - Tuhoavat muutokset ovat oletuksena estettuja.
rayfin upkieltäytyy skeemaoperaatioista, jotka voivat menettää dataa, ellei--forceniitä ohi. Ota voima käyttöön manuaaliseen suoritukseen vain, kun olet tarkistanut suunnitellut toiminnot. - Työtiloja täytyy olla olemassa. Työnkulku ei luo Fabric-työtiloja. Luo ne Fabric-portaalissa ja anna palvelupäämiehelle pääsy ensin.
Liittyvä sisältö
Ota käyttöön Fabric-sovellus Fabric - Hallinnoi kehitys- ja tuotantoympäristöjä
- Rayfin CLI -viittaus