Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.
Azure Spring Apps je plně spravovaný vývoj mikroslužeb s integrovaným zjišťováním a správou konfigurace služeb. Služba usnadňuje nasazení aplikací mikroslužeb založených na Spring Boot do Azure. V tomto kurzu se dozvíte, jak pomocí Azure CLI v Jenkinse automatizovat kontinuální integraci a doručování (CI/CD) pro Azure Spring Apps.
V tomto kurzu dokončíte tyto úlohy:
- Zřízení instance služby a spuštění aplikace Java Spring
- Příprava serveru Jenkinse
- Použití Azure CLI v kanálu Jenkinse k sestavení a nasazení aplikací mikroslužeb
Požadavky
- Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
- Jenkins: Instalace Jenkinse na virtuální počítač s Linuxem
- Účet GitHub: Pokud nemáte účet GitHub, vytvořte si před zahájením bezplatný účet .
Zřízení instance služby a spuštění aplikace Java Spring
Jako ukázkovou aplikaci služby Microsoft používáme Piggy Metrics a v Rychlý start: Spusťte aplikaci Java Spring pomocí Azure CLI postupujeme stejnými kroky, abyste zřídili instanci služby a nastavili aplikace. Pokud jste už prošli stejným procesem, můžete přejít k další části. V opačném případě jsou zahrnuté následující příkazy Azure CLI. Další informace najdete v rychlém startu: Spuštění aplikace Java Spring pomocí Azure CLI .
Místní počítač musí splňovat stejné požadavky jako server sestavení Jenkinse. Ujistěte se, že jsou nainstalované následující součásti pro sestavení a nasazení aplikací mikroslužeb:
- Git
- JDK 8
- Maven 3.0 nebo vyšší
- Nainstalované Rozhraní příkazového řádku Azure, verze 2.0.67 nebo novější
Nainstalujte rozšíření Azure Spring Apps:
az extension add --name springVytvořte skupinu prostředků, která bude obsahovat službu Azure Spring Apps:
az group create --location eastus --name <resource group name>Zřízení instance Azure Spring Apps:
az spring create -n <service name> -g <resource group name>Vytvoření forku úložiště Piggy Metrics na vlastní účet GitHubu Na místním počítači naklonujte úložiště v adresáři s názvem
source-code:mkdir source-code git clone https://github.com/<your GitHub id>/piggymetricsNastavte konfigurační server. Ujistěte se, že jste id< GitHubu nahradili >správnou hodnotou.
az spring config-server git set -n <your-service-name> --uri https://github.com/<your GitHub id>/piggymetrics --label configSestavení projektu:
cd piggymetrics mvn clean package -D skipTestsVytvořte tři mikroslužby: bránu, službu ověřování a službu účtu:
az spring app create --n gateway -s <service name> -g <resource group name> az spring app create --n auth-service -s <service name> -g <resource group name> az spring app create --n account-service -s <service name> -g <resource group name>Nasazení aplikací:
az spring app deploy -n gateway -s <service name> -g <resource group name> --jar-path ./gateway/target/gateway.jar az spring app deploy -n account-service -s <service name> -g <resource group name> --jar-path ./account-service/target/account-service.jar az spring app deploy -n auth-service -s <service name> -g <resource group name> --jar-path ./auth-service/target/auth-service.jarPřiřazení veřejného koncového bodu k bráně:
az spring app update -n gateway -s <service name> -g <resource group name> --is-public trueZadejte dotaz na aplikaci brány, abyste získali adresu URL, abyste mohli ověřit, že je aplikace spuštěná.
az spring app show --name gateway | grep urlPřejděte na adresu URL poskytnutou předchozím příkazem a spusťte aplikaci PiggyMetrics.
Příprava serveru Jenkinse
V této části připravíte server Jenkinse na spuštění sestavení, což je v pořádku pro testování. Vzhledem k bezpečnostním důsledkům byste měli k sestavování v Azure používat buď Azure VM agenta, nebo Azure Container agenta pro spuštění agenta v Azure.
Nainstalujte plug-iny
Přihlaste se k serveru Jenkinse.
Vyberte Spravovat Jenkins.
Vyberte Spravujte pluginy.
Na kartě K dispozici vyberte následující moduly plug-in:
- Integrace GitHubu
- Přihlašovací údaje Azure
Pokud se tyto pluginy nezobrazí v seznamu, zkontrolujte na kartě Nainstalované, zda už jsou nainstalované.
Pokud chcete nainstalovat moduly plug-in, vyberte Stáhnout a po restartování nainstalujte.
Restartujte server Jenkinse a dokončete instalaci.
Přidejte své přihlašovací údaje Azure Service Principal do úložiště přihlašovacích údajů Jenkins
K nasazení do Azure potřebujete službu Azure Service Principal. Další informace najdete v části Vytvoření služebního účelu v návodu Nasazení do služby Azure App Service. Výstup výstupu
az ad sp create-for-rbacvypadá přibližně takto:{ "appId": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "displayName": "xxxxxxxjenkinssp", "name": "http://xxxxxxxjenkinssp", "password": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "tenant": "xxxxxx--xxx-xxxx-xxx-xxxxxxxxxxxx" }Na řídicím panelu Jenkinse vyberte Přihlašovací údaje>systému. Pak vyberte Globální přihlašovací údaje (neomezené).
Vyberte Přidat přihlašovací údaje.
Jako druh vyberte Microsoft Azure Service Principal.
Zadejte hodnoty pro následující pole:
- ID předplatného: ID předplatného Azure
- ID klienta: AppID objektu služebního účtu
- Tajný klíč klienta: Heslo pro služební identitu
- ID tenanta: ID tenanta účtu Microsoft
- Prostředí Azure: Vyberte odpovídající hodnotu pro vaše prostředí. Například použijte Azure pro Azure Global
-
ID: Nastavit jako
azure_service_principal. Toto ID použijeme v pozdějším kroku tohoto článku. - Popis: Tato hodnota je nepovinná, ale doporučuje se z hlediska dokumentace nebo údržby.
Instalace rozšíření Maven a Azure CLI spring
Ukázkový kanál používá Maven k sestavení a Azure CLI k nasazení do instance služby. Po instalaci Jenkinse se vytvoří účet správce s názvem Jenkins. Ujistěte se, že má uživatel jenkins oprávnění ke spuštění rozšíření Spring.
Připojte se k kontroleru Jenkinse přes SSH.
Nainstalujte Maven.
sudo apt-get install mavenZadáním příkazu
az versionověřte, že je nainstalované Rozhraní příkazového řádku Azure CLI. Pokud azure CLI není nainstalované, přečtěte si téma Instalace Azure CLI.Přepněte na
jenkinsuživatele:sudo su jenkinsNainstalujte rozšíření Spring:
az extension add --name spring
Vytvoření souboru Jenkinsfile
Ve vlastním úložišti –
https://github.com/your_github_id/piggymetricsvytvořte v kořenovém adresáři soubor Jenkinsfile .Aktualizujte soubor následujícím způsobem. Nezapomeňte nahradit hodnoty <názvu> skupiny prostředků a <názvu> služby. Pokud při přidání přihlašovacích údajů do Jenkinse použijete jinou hodnotu, nahraďte azure_service_principal správným ID.
node { stage('init') { checkout scm } stage('build') { sh 'mvn clean package' } stage('deploy') { withCredentials([azureServicePrincipal('azure_service_principal')]) { // Log in to Azure sh ''' az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID az account set -s $AZURE_SUBSCRIPTION_ID ''' // Set default resource group name and service name. Replace <resource group name> and <service name> with the right values sh 'az config set defaults.group=<resource group name>' sh 'az config set defaults.spring=<service name>' // Deploy applications sh 'az spring app deploy -n gateway --jar-path ./gateway/target/gateway.jar' sh 'az spring app deploy -n account-service --jar-path ./account-service/target/account-service.jar' sh 'az spring app deploy -n auth-service --jar-path ./auth-service/target/auth-service.jar' sh 'az logout' } } }Uložte a potvrďte změnu.
Vytvoření úlohy
Na řídicím panelu Jenkinse vyberte Nová položka.
Zadejte název Deploy-PiggyMetrics pro úkol a vyberte Pipeline. Klikněte na tlačítko OK.
Vyberte kartu Kanál .
Jako definici vyberte Pipeline script z SCM.
V případě SCM vyberte Git.
Zadejte adresu URL GitHubu pro vaše forkované úložiště:
https://github.com/<your GitHub id>/piggymetrics.git.V případě specifikátoru větve (černá pro 'libovolnou') vyberte /Azure.
Jako cestu ke skriptu vyberte Jenkinsfile.
Zvolte Uložit.
Ověření a spuštění úlohy
Před spuštěním úlohy upravte text ve vstupním poli pro přihlášení a zadejte přihlašovací ID.
V úložišti otevřete
index.htmlv/gateway/src/main/resources/static/.Vyhledejte
enter your logina aktualizujte tento text naenter login ID.<input class="frontforms" id="frontloginform" name="username" placeholder="enter login ID" type="text" autocomplete="off"/>Uložte a potvrďte změnu.
Úlohu spusťte v Jenkinse ručně. Na řídicím panelu Jenkinse vyberte úlohu
Deploy-PiggyMetricsa pak vyberte Sestavit.
Po dokončení úlohy přejděte na veřejnou IP adresu gateway aplikace a ověřte, že byla vaše aplikace aktualizována.
Vyčistěte zdroje
Pokud už je nepotřebujete, odstraňte prostředky vytvořené v tomto článku:
az group delete -y --no-wait -n <resource group name>