Kurz: nasazení aplikací do jarního cloudu Azure pomocí Jenkinse a rozhraní příkazového řádku Azure
Azure jaře Cloud je plně spravovaný vývoj mikroslužeb s integrovanou správou zjišťování služeb a konfigurací. Služba usnadňuje nasazení mikroslužeb založených na jarních aplikacích do Azure. V tomto kurzu se dozvíte, jak můžete pomocí Azure CLI v Jenkinse automatizovat průběžnou integraci a doručování (CI/CD) pro jarní cloudy Azure.
V tomto kurzu dokončíte tyto úlohy:
- Zřízení instance služby a spuštění aplikace v jazyce Java pružiny
- Příprava serveru Jenkinse
- Použití rozhraní příkazového řádku Azure v kanálu Jenkinse k sestavování a nasazování 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.
- Jenkinse: instalace Jenkinse na virtuální počítač se systémem Linux
- účet GitHub: pokud nemáte účet GitHub, vytvořte si bezplatný účet před tím, než začnete.
Zřízení instance služby a spuštění aplikace v jazyce Java pružiny
Metriky Piggy používáme jako ukázkovou aplikaci služby Microsoft a postupuje se stejným postupem v rychlém startu: spuštění aplikace v jazyce Java pružiny pomocí rozhraní příkazového řádku Azure pro zřízení instance služby a nastavení aplikací. Pokud jste už prošli stejným procesem, můžete přejít k další části. V opačném případě jsou příkazy rozhraní příkazového řádku Azure CLI zahrnuté v následujících. Další informace najdete v tématu rychlý Start: spuštění aplikace pružiny v jazyce Java pomocí rozhraní příkazového řádku Azure CLI .
Váš místní počítač musí splňovat stejný požadavek jako server sestavení Jenkinse. Ujistěte se, že jsou nainstalované následující nástroje pro sestavování a nasazování aplikací mikroslužeb:
- Git
- JDK 8
- Maven 3,0 nebo vyšší
- Rozhraní příkazového řádku Azure je nainstalované, verze 2.0.67 nebo vyšší.
Instalace rozšíření pro jarní cloud Azure:
az extension add --name spring-cloudVytvořte skupinu prostředků, která bude obsahovat vaši jarní cloudovou službu Azure:
az group create --location eastus --name <resource group name>Zřízení instance Azure jaře cloudu:
az spring-cloud create -n <service name> -g <resource group name>rozvětvení úložiště metrik Piggy na vlastní účet GitHub. V 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 < číslo id GitHub nahradili > správnou hodnotou.
az spring-cloud config-server git set -n <your-service-name> --uri https://github.com/<your GitHub id>/piggymetrics --label configSestavit projekt:
cd piggymetrics mvn clean package -D skipTestsVytvořte tři mikroslužby: Brána, auth-Servicea account-Service:
az spring-cloud app create --n gateway -s <service name> -g <resource group name> az spring-cloud app create --n auth-service -s <service name> -g <resource group name> az spring-cloud app create --n account-service -s <service name> -g <resource group name>Nasazení aplikací:
az spring-cloud app deploy -n gateway -s <service name> -g <resource group name> --jar-path ./gateway/target/gateway.jar az spring-cloud app deploy -n account-service -s <service name> -g <resource group name> --jar-path ./account-service/target/account-service.jar az spring-cloud app deploy -n auth-service -s <service name> -g <resource group name> --jar-path ./auth-service/target/auth-service.jarPřiřadit veřejný koncový bod bráně:
az spring-cloud app update -n gateway -s <service name> -g <resource group name> --is-public trueDotaz na aplikaci brány, aby získal adresu URL, abyste mohli ověřit, že je aplikace spuštěná.
az spring-cloud app show --name gateway | grep urlPokud chcete spustit aplikaci PiggyMetrics, přejděte na adresu URL poskytnutou předchozím příkazem.
Příprava serveru Jenkinse
V této části připravíte Server Jenkinse pro spuštění sestavení, což je pro testování jemné. Z důvodu nebezpečnosti byste ale měli použít agenta virtuálního počítače Azure nebo Azure Container agenta k aktivaci agenta v Azure za účelem spuštění vašich sestavení.
Nainstalovat moduly plug-in
Přihlaste se k serveru Jenkinse. Vyberte Spravovat Jenkinse Spravovat moduly plug-in.
Na kartě k dispozici vyberte následující moduly plug-in:
Pokud se tyto moduly plug-in nezobrazí v seznamu, podívejte se na kartu nainstalované a zjistěte, jestli jsou už nainstalované.
Pokud chcete nainstalovat moduly plug-in, vyberte Stáhnout hned a po restartování nainstalujte.
Dokončete instalaci restartováním serveru Jenkinse.
Přidání přihlašovacích údajů instančního objektu do úložiště přihlašovacích údajů služby Azure Jenkinse
K nasazení do Azure potřebujete instanční objekt Azure. Další informace najdete v části Vytvoření instančního objektu v kurzu nasazení do Azure App Service. Výstup bude vypadat nějak takto
az ad sp create-for-rbac:{ "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í údajeSystém. Pak vyberte Global credentials (unrestricted) (Globální přihlašovací údaje (neomezené)).
Vyberte Přidat přihlašovací údaje.
jako typ vyberte Microsoft Azure instanční objekt .
Zadejte hodnoty pro následující pole:
- ID předplatného: ID předplatného Azure
- ID klienta: identifikátorAppID objektu služby
- Tajný kód klienta: heslo objektu služby
- ID tenanta: účet Microsoft ID tenanta.
- Prostředí Azure: vyberte vhodnou hodnotu pro vaše prostředí. Použijte například Azure pro globální Azure
- ID: nastaveno jako . Toto ID použijeme v pozdějším kroku tohoto článku.
- Popis: Tato akce je volitelná, ale doporučuje se.
Instalace Maven a AZ CLI jaře-Cloud Extension
Vzorový kanál používá Maven k sestavení a AZ CLI pro nasazení do instance služby. Když se Jenkinse nainstaluje, vytvoří účet správce s názvem Jenkinse. Ujistěte se, že uživatel Jenkinse má oprávnění ke spuštění rozšíření jarního cloudu.
Připojení k řadiči jenkinse přes SSH.
Nainstalovat Maven
sudo apt-get install mavenZadáním. Ověřte, že je rozhraní Azure CLI nainstalované
az version. Pokud rozhraní příkazového řádku Azure není nainstalované, přečtěte si téma instalace Azure CLI.Přepněte na
jenkinsuživatele:sudo su jenkinsPřidejte rozšíření jarního cloudu :
az extension add --name spring-cloud
Vytvoření Jenkinsfile
ve svém vlastním úložišti ( https://github.com/< vaše GitHub id > /piggymetrics) vytvořte https://github.com/ v kořenovém adresáři.
Aktualizujte soubor následujícím způsobem. Ujistěte se, že jste nahradili hodnoty názvu > skupiny prostředků a >. 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')]) { // login 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-cloud=<service name>' // Deploy applications sh 'az spring-cloud app deploy -n gateway --jar-path ./gateway/target/gateway.jar' sh 'az spring-cloud app deploy -n account-service --jar-path ./account-service/target/account-service.jar' sh 'az spring-cloud 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 klikněte na Nová položka.
Zadejte název, Deploy-PiggyMetrics pro úlohu a vyberte kanál. Klikněte na tlačítko OK.
Potom klikněte na kartu Pipeline (Kanál).
V části Definition (Definice) vyberte Pipeline script from SCM (Skript kanálu z SCM).
V části SCM vyberte Git.
zadejte adresu URL GitHub rozvětvené úložiště: < id vaší GitHub > /piggymetrics.git
Ujistěte se, že specifikátor větve (černá pro ' Any ') je */Azure
Zachovat cestu ke skriptům jako Jenkinsfile
Klikněte na Uložit.
Ověří a spustí úlohu.
Před spuštěním úlohy budeme aktualizovat text v textovém poli přihlášení, aby se zadalo přihlašovací ID.
Ve svém vlastním úložišti otevřete
index.htmlvindex.htmlVyhledejte "zadejte své přihlašovací údaje" a aktualizujte na zadat přihlašovací ID.
<input class="frontforms" id="frontloginform" name="username" placeholder="enter login ID" type="text" autocomplete="off"/>Potvrdit změny
Spusťte úlohu v Jenkinse ručně. Na řídicím panelu Jenkinse klikněte na úlohu Deploy-PiggyMetrics a Sestavte ji nyní.
Po dokončení úlohy přejděte k veřejné IP adrese aplikace brány a ověřte, jestli je vaše aplikace aktualizovaná.

Vyčištění prostředků
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>