Come usare il plug-in slave di Azure con una soluzione di integrazione continua HudsonHow to use the Azure slave plug-in with Hudson Continuous Integration

Il plug-in slave di Azure per Hudson consente di eseguire il provisioning di nodi slave in Azure quando si eseguono build distribuite.The Azure slave plug-in for Hudson enables you to provision slave nodes on Azure when running distributed builds.

Installare il plug-in slave di AzureInstall the Azure Slave plug-in

  1. Nel dashboard di Hudson, fare clic su Manage Hudson.In the Hudson dashboard, click Manage Hudson.
  2. Nella pagina Manage Hudson (Gestisci Hudson) fare clic su Manage Plugins (Gestisci plug-in).In the Manage Hudson page, click on Manage Plugins.
  3. Fare clic sulla scheda Available .Click the Available tab.
  4. Fare clic su Search (Cerca) e digitare Azure per limitare l'elenco ai plug-in pertinenti.Click Search and type Azure to limit the list to relevant plug-ins.

    Se si decide di scorrere l'elenco di plug-in disponibili, si troverà il plug-in slave di Azure nella sezione Cluster Management and Distributed Build (Gestione cluster e compilazione distribuita) nella scheda Others (Altri).If you opt to scroll through the list of available plug-ins, you will find the Azure slave plug-in under the Cluster Management and Distributed Build section in the Others tab.

  5. Selezionare la casella di controllo Azure Slave Plugin.Select the checkbox for Azure Slave Plugin.
  6. Fare clic su Installa.Click Install.
  7. Riavviare Hudson.Restart Hudson.

Dopo aver installato il plug-in, è necessario procedere alla relativa configurazione tramite il profilo della sottoscrizione di Azure e alla creazione di un modello che verrà usato durante la creazione della VM relativa al nodo slave.Now that the plug-in is installed, the next steps would be to configure the plug-in with your Azure subscription profile and to create a template that will be used in creating the VM for the slave node.

Configurare il plug-in slave di Azure con il profilo di sottoscrizioneConfigure the Azure Slave plug-in with your subscription profile

Un profilo di sottoscrizione, noto anche come impostazioni di pubblicazione, è un file XML contenente le credenziali protette e alcune informazioni aggiuntive necessarie per usare Azure nel proprio ambiente di sviluppo.A subscription profile, also referred to as publish settings, is an XML file that contains secure credentials and some additional information you'll need to work with Azure in your development environment. Per configurare il plug-in slave di Azure, è necessario quanto segue:To configure the Azure slave plug-in, you need:

  • ID sottoscrizione personaleYour subscription id
  • Un certificato di gestione per la sottoscrizioneA management certificate for your subscription

Questi elementi sono disponibili nel profilo di sottoscrizione.These can be found in your [subscription profile]. Di seguito è riportato un esempio di un profilo di sottoscrizione.Below is an example of a subscription profile.

<?xml version="1.0" encoding="utf-8"?>

    <PublishData>

      <PublishProfile SchemaVersion="2.0" PublishMethod="AzureServiceManagementAPI">

    <Subscription

          ServiceManagementUrl="https://management.core.windows.net"

          Id="<Subscription ID>"

          Name="Pay-As-You-Go"
        ManagementCertificate="<Management certificate value>" />

      </PublishProfile>

</PublishData>

Dopo avere creato il profilo di sottoscrizione, attenersi alla seguente procedura per configurare il plug-in slave di Azure.Once you have your subscription profile, follow these steps to configure the Azure slave plug-in.

  1. Nel dashboard di Hudson, fare clic su Manage Hudson.In the Hudson dashboard, click Manage Hudson.
  2. Fare clic su Configure System.Click Configure System.
  3. Scorrere verso il basso la pagina per trovare la sezione Cloud .Scroll down the page to find the Cloud section.
  4. Fare clic su Add new cloud > Microsoft Azure (Aggiungi nuovo cloud > Microsoft Azure).Click Add new cloud > Microsoft Azure.

    aggiungere nuovo cloud

    Verranno visualizzati i campi in cui è necessario immettere i dettagli della sottoscrizione.This will show the fields where you need to enter your subscription details.

    configurare profilo

  5. Copiare l'ID sottoscrizione e il certificato di gestione dal profilo di sottoscrizione e incollarli nei campi appropriati.Copy the subscription id and management certificate from your subscription profile and paste them in the appropriate fields.

    Quando si copiano l'ID sottoscrizione e il certificato di gestione, non includere le virgolette che racchiudono i valori.When copying the subscription id and management certificate, do not include the quotes that enclose the values.

  6. Fare clic su Verify configuration.Click on Verify configuration.
  7. Quando la configurazione viene verificata correttamente, fare clic su Save.When the configuration is verified successfully, click Save.

Configurare un modello di macchina virtuale per il plug-in slave di AzureSet up a virtual machine template for the Azure Slave plug-in

Un modello di macchina virtuale definisce i parametri che il plug-in userà per creare un nodo slave in Azure.A virtual machine template defines the parameters the plug-in will use to create a slave node on Azure. Nella procedura seguente verrà creato un modello per una macchina virtuale Ubuntu.In the following steps we'll be creating template for an Ubuntu VM.

  1. Nel dashboard di Hudson, fare clic su Manage Hudson.In the Hudson dashboard, click Manage Hudson.
  2. Fare clic su Configure System.Click on Configure System.
  3. Scorrere verso il basso la pagina per trovare la sezione Cloud .Scroll down the page to find the Cloud section.
  4. All'interno della sezione Cloud, trovare Add Azure Virtual Machine Template (Aggiungere modello di macchina virtuale Azure) e fare clic sul pulsante Add (Aggiungi).Within the Cloud section, find Add Azure Virtual Machine Template and click the Add button.

    aggiungere modello macchina virtuale

  5. Specificare un nome del servizio cloud nel campo Name .Specify a cloud service name in the Name field. Se il nome specificato fa riferimento a un servizio cloud esistente, il provisioning della macchina virtuale verrà effettuato in tale servizio.If the name you specify refers to an existing cloud service, the VM will be provisioned in that service. In caso contrario, Azure ne creerà uno nuovo.Otherwise, Azure will create a new one.
  6. Nel campo Description , immettere il testo che descrive il modello che si sta creando.In the Description field, enter text that describes the template you are creating. Queste informazioni sono esclusivamente a scopo di documentazione e non vengono utilizzate nel provisioning di una macchina virtuale.This information is only for documentary purposes and is not used in provisioning a VM.
  7. Nel campo Labels (Etichette) immettere linux.In the Labels field, enter linux. Questa etichetta viene utilizzata per identificare il modello che si sta creando e viene successivamente utilizzata per fare riferimento al modello durante la creazione di un processo Hudson.This label is used to identify the template you are creating and is subsequently used to reference the template when creating a Hudson job.
  8. Selezionare un'area in cui verrà creata la macchina virtuale.Select a region where the VM will be created.
  9. Selezionare le dimensioni appropriate della macchina virtuale.Select the appropriate VM size.
  10. Specificare un account di archiviazione in cui verrà creata la macchina virtuale.Specify a storage account where the VM will be created. Assicurarsi che l'account si trovi nella stessa area del servizio cloud che verrà utilizzato.Make sure that it is in the same region as the cloud service you'll be using. Per creare una nuova risorsa di archiviazione, lasciare questo campo vuoto.If you want new storage to be created, you can leave this field blank.
  11. Il periodo di memorizzazione specifica il numero di minuti prima dell'eliminazione di uno slave inattivo da parte di Hudson.Retention time specifies the number of minutes before Hudson deletes an idle slave. Lasciare il valore predefinito pari a 60.Leave this at the default value of 60.
  12. In Usage, selezionare la condizione appropriata quando verrà utilizzato questo nodo slave.In Usage, select the appropriate condition when this slave node will be used. Per il momento, selezionare Utilize this node as much as possible.For now, select Utilize this node as much as possible.

    A questo punto, il modulo dovrebbe avere un aspetto simile al seguente:At this point, your form would look somewhat similar to this:

    configurazione modello

  13. In Image Family or Id è necessario specificare quale immagine del sistema verrà installata nella macchina virtuale.In Image Family or Id you have to specify what system image will be installed on your VM. È possibile scegliere da un elenco di famiglie di immagini o specificare un'immagine personalizzata.You can either select from a list of image families or specify a custom image.

    Per selezionare da un elenco di famiglie di immagini, immettere il primo carattere (maiuscole/minuscole) del nome della famiglia dell'immagine.If you want to select from a list of image families, enter the first character (case-sensitive) of the image family name. Ad esempio, digitando U verrà visualizzato l'elenco delle famiglie di Ubuntu Server.For instance, typing U will bring up a list of Ubuntu Server families. Dopo aver selezionato dall'elenco, Jenkins utilizzerà la versione più recente di tale immagine del sistema di tale famiglia durante il provisioning della macchina virtuale.Once you select from the list, Jenkins will use the latest version of that system image from that family when provisioning your VM.

    elenco famiglie sistemi operativi

    Se invece si dispone di un'immagine personalizzata che si desidera utilizzare, immettere il nome dell'immagine personalizzata.If you have a custom image that you want to use instead, enter the name of that custom image. I nomi delle immagini personalizzati non vengono visualizzati nell'elenco, pertanto è necessario verificare che il nome venga immesso correttamente.Custom image names are not shown in a list so you have to ensure that the name is entered correctly.

    Per questa esercitazione, digitare U per visualizzare un elenco di immagini Ubuntu e selezionare Ubuntu Server 14.04 LTS.For this tutorial, type U to bring up a list of Ubuntu images and select Ubuntu Server 14.04 LTS.

  14. Per Launch method (Metodo di avvio), selezionare SSH.For Launch method, select SSH.
  15. Copiare lo script seguente e incollarlo nel campo Init script .Copy the script below and paste in the Init script field.

     # Install Java
    
     sudo apt-get -y update
    
     sudo apt-get install -y openjdk-7-jdk
    
     sudo apt-get -y update --fix-missing
    
     sudo apt-get install -y openjdk-7-jdk
    
     # Install git
    
     sudo apt-get install -y git
    
     #Install ant
    
     sudo apt-get install -y ant
    
     sudo apt-get -y update --fix-missing
    
     sudo apt-get install -y ant
    

    L' Init script verrà eseguito dopo aver creato la macchina virtuale.The Init script will be executed after the VM is created. In questo esempio, lo script installa Java, git e ant.In this example, the script installs Java, git, and ant.

  16. Nei campi Username (Nome utente) e Password immettere i valori preferiti relativi all'account amministratore che verrà creato nella macchina virtuale.In the Username and Password fields, enter your preferred values for the administrator account that will be created on your VM.
  17. Fare clic su Verify Template per verificare che i parametri specificati siano validi.Click on Verify Template to check if the parameters you specified are valid.
  18. Fare clic su Save.Click on Save.

Creare un processo Hudson eseguito in un nodo slave in AzureCreate a Hudson job that runs on a slave node on Azure

In questa sezione si creerà un'attività di Hudson che verrà eseguita in un nodo slave in Azure.In this section, you'll be creating a Hudson task that will run on a slave node on Azure.

  1. Nel dashboard di Hudson, fare clic su New Job.In the Hudson dashboard, click New Job.
  2. Immettere un nome per il processo che si sta creando.Enter a name for the job you are creating.
  3. Per il tipo di processo, selezionare Build a free-style software job.For the job type, select Build a free-style software job.
  4. Fare clic su OK.Click OK.
  5. Nella pagina di configurazione del processo, selezionare Restrict where this project can be run.In the job configuration page, select Restrict where this project can be run.
  6. Selezionare Node and label menu (Menu Nodo ed etichetta) e linux (questa etichetta è stata specificata al momento della creazione del modello di macchina virtuale nella sezione precedente).Select Node and label menu and select linux (we specified this label when creating the virtual machine template in the previous section).
  7. Nella sezione Build (Compilazione) fare clic su Add build step (Aggiungi passaggio di compilazione) e selezionare Execute shell (Esegui shell).In the Build section, click Add build step and select Execute shell.
  8. Modificare lo script seguente sostituendo (your GitHub account name) (nome account GitHub), (your project name) (nome progetto) e (your project directory) (directory progetto) con i valori appropriati e incollare lo script modificato nell'area di testo visualizzata.Edit the following script, replacing {your github account name}, {your project name}, and {your project directory} with appropriate values, and paste the edited script in the text area that appears.

     # Clone from git repo
    
     currentDir="$PWD"
    
     if [ -e {your project directory} ]; then
    
           cd {your project directory}
    
           git pull origin master
    
     else
    
           git clone https://github.com/{your github account name}/{your project name}.git
    
     fi
    
     # change directory to project
    
     cd $currentDir/{your project directory}
    
     #Execute build task
    
     ant
    
  9. Fare clic su Save.Click on Save.
  10. Nel dashboard di Hudson, trovare il processo appena creato e fare clic sull'icona Schedule a build .In the Hudson dashboard, find the job you just created and click on the Schedule a build icon.

Hudson creerà quindi un nodo slave utilizzando il modello creato nella sezione precedente ed eseguirà lo script specificato nell'istruzione di compilazione di questa attività.Hudson will then create a slave node using the template created in the previous section and execute the script you specified in the build step for this task.

Passaggi successiviNext Steps

Per altre informazioni su come usare Azure con Java, vedere il Centro per sviluppatori Java di Azure.For more information about using Azure with Java, see the [Azure Java Developer Center].