Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku utworzysz wyzwalacz HTTP, który uruchamia sprawdzanie zgodności aplikacji kontenerowej. Testujesz go z poziomu portalu i wiersza polecenia, a następnie integrujesz go z potokiem ciągłej integracji i ciągłego dostarczania (CI/CD).
Szacowany czas: 10 minut
W tym samouczku nauczysz się następujących rzeczy:
- Utwórz wyzwalacz HTTP z monitem sprawdzania zgodności.
- Przetestuj wyzwalacz z portalu przy użyciu polecenia Uruchom teraz.
- Wywołaj wyzwalacz z wiersza polecenia za pomocą ładunku JSON.
- Zintegruj wyzwalacz z potokiem CI/CD.
Wymagania wstępne
- Agent usługi Azure SRE w stanie Uruchomiony, z skonfigurowaną co najmniej jedną subskrypcją Azure.
- Zainstalowany interfejs wiersza polecenia platformy Azure (
azpolecenie) do testowania wywołania elementu webhook.
Scenario
Twój zespół wdraża poprawki aplikacji kontenera wiele razy dziennie. Każde wdrożenie powinno spełniać standardy zgodności, mieć prawidłowo określone limity zasobów, skonfigurowane sondy kondycji oraz zdefiniowane reguły kontroli dostępu. Zamiast ręcznie sprawdzać po każdym wdrożeniu, utwórz wyzwalacz HTTP, który będzie wywoływany przez potok CI/CD po każdym wdrożeniu. Agent automatycznie uruchamia sprawdzanie zgodności.
Otwieranie wyzwalaczy HTTP
Aby otworzyć wyzwalacze HTTP, przejdź do Konstruktor>Wyzwalacze HTTP w menu usługi.
Punkt kontrolny: Strona ładuje się kartami podsumowania (aktywne wyzwalacze: 0, łączna liczba wyzwalaczy: 0, łączna liczba przebiegów: 0) i pusta lista wyzwalaczy.
Krok 1. Tworzenie wyzwalacza
Wybierz pozycję Utwórz wyzwalacz na pasku narzędzi. Zostanie otwarte okno dialogowe Tworzenie wyzwalacza HTTP .
Wypełnij następujące pola w formularzu.
Pole Wartość Nazwa wyzwalacza Sprawdzanie zgodności aplikacji kontenerowej. Szczegóły wyzwalacza Wdrożono nową wersję aplikacji kontenera. Uruchom sprawdzanie zgodności w aplikacji. Sprawdź, czy limity zasobów (procesor CPU/pamięć), sondy kondycji, konfiguracja ruchu przychodzącego i reguły skalowania są poprawnie skonfigurowane. Zgłoś wszelkie znalezione problemy. Szczegóły aplikacji: {payload.app_name}w grupie zasobów{payload.resource_group}. Poprawka:{payload.revision_name}.Poziom autonomii agenta Autonomiczny (wartość domyślna). Grupowanie komunikatów pod kątem aktualizacji Nowy wątek czatu dla każdego przebiegu. Pozostaw Podagent odpowiedzi w wartości domyślnej, chyba że chcesz, aby określony podagent obsługiwał sprawdzanie.
Wybierz pozycję Utwórz wyzwalacz.
Punkt kontrolny: Wyzwalacz zostanie wyświetlony na liście ze stanem Włączone (zielony wskaźnik). Karty podsumowania są aktualizowane, aby pokazać jeden aktywny wyzwalacz.
Krok 2. Kopiowanie adresu URL wyzwalacza
Wybierz nazwę wyzwalacza Sprawdzanie zgodności aplikacji kontenera , aby otworzyć widok szczegółów.
Zobaczysz następujące pola:
- Adres URL wyzwalacza: punkt końcowy Webhook z przyciskiem Kopiuj
- Stan: Włączone
- Ostatnie połączenie: Nigdy
- Grupowanie komunikatów: nowy wątek dla każdego uruchomienia
Wybierz przycisk Kopiuj obok adresu URL wyzwalacza. Zapisz adres URL, ponieważ używasz go w kroku 4.
Punkt kontrolny: Skopiowano adres URL wyzwalacza. Wygląda następująco: https://<your-agent>.sre.azure.com/api/v1/httptriggers/trigger/<trigger-id>.
Krok 3. Testowanie za pomocą polecenia Uruchom teraz
Wybierz pozycję Uruchom wyzwalacz teraz na pasku narzędzi. Ta akcja uruchamia wyzwalacz natychmiast bez wywołania zewnętrznego.
Poczekaj kilka sekund, a następnie wybierz pozycję Aktualizuj listę , aby odświeżyć historię wykonywania.
Punkt kontrolny: Historia wykonywania pokazuje nowy wiersz ze znacznikiem czasu, powiązanym wątkiem i statusem powodzenia. Wybierz link wątku, aby wyświetlić odpowiedź agenta.
Agent tworzy wątek o nazwie Wyzwalacz HTTP: Sprawdzanie zgodności aplikacji kontenera. W środku widzisz kartę realizacji z planem sprawdzania zgodności, a następnie pełne dochodzenie prowadzone przez agenta i tabela werdyktów z wynikami zgodności.
Krok 4. Wywołanie wyzwalacza z wiersza polecenia
Teraz przetestuj tak, jak zrobiłby to twój potok CI/CD, z rzeczywistym ładunkiem. Otwórz terminal i uruchom:
# Get an ARM token (use the SRE Agent app ID as the resource)
TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)
# Call the trigger with container app deployment details
curl -X POST \
"<YOUR_TRIGGER_URL>" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"app_name": "checkout-api",
"resource_group": "rg-production",
"revision_name": "checkout-api--v3",
"deployed_by": "github-actions",
"image": "myregistry.azurecr.io/checkout-api:v3.2.1"
}'
Zastąp ciąg <YOUR_TRIGGER_URL> adresem URL skopiowany w kroku 2.
Co się stanie: Agent otrzymuje monit z wartościami {payload.app_name}, {payload.resource_group}i {payload.revision_name} zastąpiony rzeczywistymi wartościami. Pola, które nie pasują do symbolu zastępczego (na przykład deployed_by i image), są dołączane jako nieprzetworzony kontekst JSON.
Odpowiedź zostaje zwrócona natychmiast z kodem HTTP 202:
{
"message": "HTTP trigger execution initiated",
"executionTime": "2026-03-13T10:30:00Z",
"threadId": "thread-abc123",
"success": true
}
Punkt kontrolny: Wróć do portalu i wybierz pozycję Aktualizuj listę w widoku szczegółów. Powinieneś zobaczyć w historii drugie wykonanie. Jest to połączenie zewnętrzne. Wybierz link wątku, aby wyświetlić sprawdzanie zgodności agenta z wypełnionymi rzeczywistymi szczegółami aplikacji.
Krok 5: Zintegruj z potokiem produkcyjnym
Dodaj wywołanie wyzwalacza do kroku po wdrożeniu potoku CI/CD. Oto przykład funkcji GitHub Actions:
- name: Trigger SRE Agent compliance check
if: success()
run: |
TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)
curl -s -X POST "${{ secrets.SRE_TRIGGER_URL }}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"app_name": "${{ env.APP_NAME }}",
"resource_group": "${{ env.RESOURCE_GROUP }}",
"revision_name": "${{ env.REVISION_NAME }}",
"deployed_by": "${{ github.actor }}",
"commit": "${{ github.sha }}"
}'
Zapisz adres URL wyzwalacza jako tajemnicę GitHub (SRE_TRIGGER_URL). Nigdy nie zakoduj go w pliku przepływu pracy.
Krok 6. Czyszczenie zasobów
Jeśli nie potrzebujesz już wyzwalacza, usuń go:
- Przejdź do Konstruktor>Wyzwalacze HTTP.
- Zaznacz pole wyboru wyzwalacza.
- Wybierz Usuń.