Uwaga
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.
Ważne
Podczas gdy wiele usług platformy Azure ma wtyczki Jenkins, większość z tych wtyczek zakończyła wsparcie od 29 lutego 2024 r. Interfejs wiersza polecenia platformy Azure to obecnie zalecany sposób integracji serwera Jenkins z usługami platformy Azure. Aby uzyskać więcej informacji, zapoznaj się z artykułem wtyczki serwera Jenkins dla usługi Azure.
Azure Functions to bezserwerowa usługa obliczeniowa. Za pomocą usługi Azure Functions można uruchamiać kod na żądanie bez aprowizacji infrastruktury ani zarządzania nią. W tym samouczku pokazano, jak wdrożyć funkcję Java w usłudze Azure Functions przy użyciu wtyczki usługi Azure Functions.
Wymagania wstępne
- Subskrypcja platformy Azure: jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Serwer Jenkins: jeśli nie masz zainstalowanego serwera Jenkins, zapoznaj się z artykułem Tworzenie serwera Jenkins na platformie Azure.
Wyświetlanie kodu źródłowego
Kod źródłowy używany na potrzeby tego samouczka znajduje się w repozytorium GitHub programu Visual Studio China.
Tworzenie funkcji Języka Java
Aby utworzyć funkcję Java za pomocą stosu uruchomieniowego Java, skorzystaj z portalu Azure portal lub interfejsu wiersza polecenia platformy Azure.
W poniższych krokach pokazano, jak utworzyć funkcję Java przy użyciu interfejsu wiersza polecenia platformy Azure:
Utwórz grupę zasobów, zastępując <symbol zastępczy resource_group> nazwą grupy zasobów.
az group create --name <resource_group> --location eastus
Utwórz konto usługi Azure Storage, zastępując symbole zastępcze odpowiednimi wartościami.
az storage account create --name <storage_account> --location eastus --resource-group <resource_group> --sku Standard_LRS
Utwórz aplikację funkcji testowej, zastępując symbole zastępcze odpowiednimi wartościami.
az functionapp create --resource-group <resource_group> --runtime java --consumption-plan-location eastus --name <function_app> --storage-account <storage_account> --functions-version 2
Przygotowywanie serwera Jenkins
W poniższych krokach wyjaśniono, jak przygotować serwer Jenkins:
Wdrażanie serwera Jenkins na platformie Azure. Jeśli nie masz jeszcze zainstalowanego wystąpienia serwera Jenkins, artykuł Tworzenie serwera Jenkins na platformie Azure przeprowadzi Cię przez ten proces.
Zaloguj się do instancji Jenkins za pomocą SSH.
W wystąpieniu Jenkins zainstaluj Az CLI w wersji 2.0.67 lub nowszej.
Zainstaluj narzędzie maven przy użyciu następującego polecenia:
sudo apt install -y maven
W wystąpieniu serwera Jenkins zainstaluj narzędzia Azure Functions Core Tools , wydając następujące polecenia w wierszu polecenia terminalu:
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-$(lsb_release -cs)-prod $(lsb_release -cs) main" > /etc/apt/sources.list.d/dotnetdev.list' cat /etc/apt/sources.list.d/dotnetdev.list sudo apt-get update sudo apt-get install azure-functions-core-tools-3
Jenkins potrzebuje jednostki usługi platformy Azure do uwierzytelniania i uzyskiwania dostępu do zasobów platformy Azure. Aby uzyskać instrukcje krok po kroku, zapoznaj się z artykułem Wdrażanie w usłudze Azure App Service .
Upewnij się, że wtyczka Credentials jest zainstalowana.
Z menu wybierz pozycję Zarządzaj usługą Jenkins.
W obszarze Konfiguracja systemu wybierz pozycję Zarządzaj wtyczką.
Wybierz kartę Zainstalowane.
W polu filtru wprowadź wartość
credentials
.Sprawdź, czy wtyczka Credentials jest zainstalowana. Jeśli nie, musisz zainstalować go z poziomu karty Dostępne .
Z menu wybierz pozycję Zarządzaj usługą Jenkins.
W obszarze Zabezpieczenia wybierz pozycję Zarządzaj poświadczeniami.
W obszarze Poświadczenia wybierz pozycję (globalne).
Z menu wybierz pozycję Dodaj poświadczenia.
Wprowadź następujące wartości dla pryncypała usługi platformy Microsoft Azure:
- Rodzaj: wybierz wartość: Nazwa użytkownika z hasłem.
-
Nazwa użytkownika: określ
appId
utworzoną jednostkę usługi. -
Hasło: określ
password
(tajne hasło) głównego obiektu usługi. -
Identyfikator: określ identyfikator poświadczeń, taki jak
azuresp
.
Kliknij przycisk OK.
Sfokuj przykładowe repozytorium GitHub
Zaloguj się do repozytorium GitHub dla dziwnej lub nawet przykładowej aplikacji.
W prawym górnym rogu w serwisie GitHub wybierz pozycję Fork.
Postępuj zgodnie z instrukcjami, aby wybrać konto GitHub i zakończyć tworzenie forka.
Tworzenie potoku Jenkins
W tej sekcji utworzysz Jenkins Pipeline.
Na pulpicie nawigacyjnym usługi Jenkins utwórz potok.
Włącz funkcję przygotowania środowiska do uruchomienia.
W sekcji Pipeline-Definition> (Definicja potoku ) wybierz pozycję Pipeline script from SCM (Skrypt potoku z narzędzia SCM).
Wprowadź adres URL rozwidlenia usługi GitHub i ścieżkę skryptu ("doc/resources/jenkins/JenkinsFile"), aby użyć ich w przykładzie JenkinsFile.
node { withEnv(['AZURE_SUBSCRIPTION_ID=99999999-9999-9999-9999-999999999999', 'AZURE_TENANT_ID=99999999-9999-9999-9999-999999999999']) { stage('Init') { cleanWs() checkout scm } stage('Build') { sh 'mvn clean package' } stage('Publish') { def RESOURCE_GROUP = '<resource_group>' def FUNC_NAME = '<function_app>' // login Azure withCredentials([usernamePassword(credentialsId: 'azuresp', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) { sh ''' az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID az account set -s $AZURE_SUBSCRIPTION_ID ''' } sh 'cd $PWD/target/azure-functions/odd-or-even-function-sample && zip -r ../../../archive.zip ./* && cd -' sh "az functionapp deployment source config-zip -g $RESOURCE_GROUP -n $FUNC_NAME --src archive.zip" sh 'az logout' } } }
Kompilowanie i wdrażanie
Nadszedł czas na uruchomienie zadania narzędzia Jenkins.
Najpierw uzyskaj klucz autoryzacji za pomocą instrukcji w artykule Wyzwalacze HTTP i powiązania usługi Azure Functions .
W przeglądarce wprowadź adres URL aplikacji. Zastąp symbole zastępcze odpowiednimi wartościami i określ wartość liczbową dla <input_number> jako dane wejściowe dla funkcji Języka Java.
https://<function_app>.azurewebsites.net/api/HttpTrigger-Java?code=<authorization_key>&number=<input_number>
Zobaczysz wyniki podobne do następujących przykładowych danych wyjściowych (gdzie liczba nieparzysta — 365 — została użyta jako test):
The number 365 is Odd.
Uprzątnij zasoby
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, usuń utworzone zasoby, wykonując następujący krok:
az group delete -y --no-wait -n <resource_group>