Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Viktigt
Många Azure-tjänster har Jenkins-plugin-program. Vissa av dessa plugin-program kommer att vara utan stöd från och med den 29 februari 2024. Azure CLI är det för närvarande rekommenderade sättet att integrera Jenkins med Azure-tjänster. Mer information finns i artikeln Jenkins-plugin-program för Azure.
Azure Functions är en "serverlös" beräkningstjänst. Med Azure Functions kan köra du kod på begäran utan att tillhandahålla eller hantera infrastruktur. Den här självstudien visar hur du distribuerar en Java-funktion till Azure Functions med hjälp av Azure Functions-plugin-programmet.
Källkoden i den här självstudien finns i Visual Studio Kina GitHub-lagringsplatsen.
Om du vill skapa en Java-funktion med Java-körningsstacken kan du använda antingen Azure-portalen eller Azure CLI.
Följande steg visar hur du skapar en Java-funktion med Azure CLI:
Skapa en resursgrupp och ersätt platshållaren <resource_group> med resursgruppens namn.
az group create --name <resource_group> --location eastus
Skapa ett Azure Storage-konto som ersätter platshållarna med lämpliga värden.
az storage account create --name <storage_account> --location eastus --resource-group <resource_group> --sku Standard_LRS
Skapa testfunktionsappen som ersätter platshållarna med lämpliga värden.
az functionapp create --resource-group <resource_group> --runtime java --consumption-plan-location eastus --name <function_app> --storage-account <storage_account> --functions-version 2
Följande steg beskriver hur du förbereder Jenkins-servern:
Distribuera en Jenkins-server i Azure. Om du inte redan har en instans av Jenkins-servern installerad får du vägledning genom processen i artikeln Skapa en Jenkins-server i Azure.
Logga in på Jenkins-instansen med SSH.
Installera Az CLI, version 2.0.67 eller senare på Jenkins-instansen.
Installera maven med följande kommando:
sudo apt install -y maven
På Jenkins-instansen installerar du Azure Functions Core Tools genom att utfärda följande kommandon vid en terminaluppmaning:
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 behöver Azure-tjänstens huvudnamn för att autentisera och få åtkomst till Azure-resurser. Referera till de stegvisa instruktionerna i Distribuera till Azure App Service.
Kontrollera att plugin-programmet Autentiseringsuppgifter är installerat.
Välj Hantera Jenkins på menyn.
Under Systemkonfiguration väljer du Hantera plugin-program.
Välj fliken Installerad .
I filterfältet anger du credentials
.
Kontrollera att plugin-programmet Autentiseringsuppgifter är installerat. Annars måste du installera det från fliken Tillgänglig .
Välj Hantera Jenkins på menyn.
Under Säkerhet väljer du Hantera autentiseringsuppgifter.
Under Autentiseringsuppgifter väljer du (global).
Välj Lägg till autentiseringsuppgifter på menyn.
Ange följande värden för tjänstens huvudnamn för Microsoft Azure:
appId
tjänstens huvudnamn som skapats.password
) för tjänstens huvudnamn.azuresp
.Välj OK.
Logga in på GitHub-lagringsplatsen för den udda eller till och med exempelappen.
I det övre högra hörnet i GitHub väljer du Fork (Förgrening).
Följ anvisningarna för att välja ditt GitHub-konto och slutför förgreningen.
I det här avsnittet skapar du en Jenkins-pipeline.
Skapa en pipeline i Jenkins-instrumentpanelen.
Aktivera Förbered en miljö för körningen.
I avsnittet Pipeline-Definition väljer du Pipeline-skript> från SCM.
Ange din GitHub-förgrenings URL och skriptsökväg ("doc/resources/jenkins/JenkinsFile") som ska användas i JenkinsFile-exemplet.
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'
}
}
}
Nu är det dags att köra Jenkins-jobbet.
Först hämtar du auktoriseringsnyckeln via anvisningarna i artikeln om HTTP-utlösare och bindningar i Azure Functions.
Ange appens webbadress i webbläsaren. Ersätt platshållarna med lämpliga värden och ange ett numeriskt värde för <input_number> som indata för Java-funktionen.
https://<function_app>.azurewebsites.net/api/HttpTrigger-Java?code=<authorization_key>&number=<input_number>
Du ser resultat som liknar följande exempelutdata (där ett udda tal – 365 – användes som ett test):
The number 365 is Odd.
Om du inte planerar att fortsätta använda det här programmet tar du bort de resurser som du skapade med följande steg:
az group delete -y --no-wait -n <resource_group>
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Automatisera Azure Functions-distributioner med Azure Pipelines - Training
Implementera en CI/CD-pipeline med Azure Pipelines för Azure Functions.
Certifiering
Microsoft Certified: Azure Developer Associate - Certifications
Skapa lösningar från slutpunkt till slutpunkt i Microsoft Azure för att skapa Azure Functions, implementera och hantera webbappar, utveckla lösningar som använder Azure Storage med mera.