Integrazione del controllo del codice sorgente in Automazione di AzureSource control integration in Azure Automation

L'integrazione del controllo del codice sorgente consente di associare runbook nell'account di automazione a un repository di controllo del codice sorgente su GitHub.Source control integration allows you to associate runbooks in your Automation account to a GitHub source control repository. Il controllo del codice sorgente fornisce un ambiente in cui è possibile collaborare con il team, tenere traccia delle modifiche ed eseguire il rollback a versioni precedenti dei runbook.Source control allows you to easily collaborate with your team, track changes, and roll back to earlier versions of your runbooks. Ad esempio, il controllo del codice sorgente consente di sincronizzare diversi rami nel controllo del codice sorgente con gli account di automazione di sviluppo, test o produzione e alzare di livello il codice testato nell'ambiente di sviluppo per passarlo all'ambiente di produzione.For example, source control allows you to sync different branches in source control to your development, test or production Automation accounts, making it easy to promote code that has been tested in your development environment to your production Automation account.

Il controllo del codice sorgente consente di effettuare il push del codice da Automazione di Azure al controllo del codice sorgente oppure effettuare il pull dei runbook dal controllo del codice sorgente ad Automazione di Azure.Source control allows you to push code from Azure Automation to source control or pull your runbooks from source control to Azure Automation. Questo articolo descrive come configurare il controllo del codice sorgente nell'ambiente di Automazione di Azure.This article describes how to set up source control in your Azure Automation environment. Si inizia configurando Automazione di Azure per accedere al repository GitHub e vengono poi descritte varie operazioni che possono essere eseguite usando l'integrazione del controllo del codice sorgente.We start by configuring Azure Automation to access your GitHub repository and walk through different operations that can be done using source control integration.

Nota

Il controllo del codice sorgente supporta il pull e il push di Runbook del flusso di lavoro PowerShell e Runbook di PowerShell.Source control supports pulling and pushing PowerShell Workflow runbooks as well as PowerShell runbooks. I Runbook grafici non sono ancora supportati.Graphical runbooks are not yet supported.

Per configurare il controllo del codice sorgente per l'account di automazione sono richiesti due semplici passaggi e solo uno se si ha già un account GitHub.There are two simple steps required to configure source control for your Automation account, and only one if you already have a GitHub account. Vale a dire:They are:

Passaggio 1: Creare un repository GitHubStep 1 – Create a GitHub repository

Se si ha già un account GitHub e un repository che si vuole collegare ad Automazione di Azure, accedere con l'account esistente e iniziare dal passaggio 2 seguente.If you already have a GitHub account and a repository that you want to link to Azure Automation, then sign into your existing account and start from step 2 below. In caso contrario, passare a GitHub, iscriversi per ottenere un nuovo account e creare un nuovo repository.Otherwise, navigate to GitHub, sign up for a new account and create a new repository.

Passaggio 2 - Configurazione del controllo del codice sorgente in Automazione di AzureStep 2 – Set up source control in Azure Automation

  1. Dalla pagina Account di automazione nel portale di Azure fare clic su Impostare il controllo codice sorgente.From the Automation Account page in the Azure portal, click Set Up Source Control.

    Impostare il controllo codice sorgente

  2. Viene aperta la pagina Controllo codice sorgente dove è possibile configurare i dettagli dell'account GitHub.The Source Control page opens, where you can configure your GitHub account details. Ecco l'elenco dei parametri da configurare:Below is the list of parameters to configure:

    ParametroParameter DescrizioneDescription
    Scegliere l'origineChoose Source Selezione l'origine.Select the source. Attualmente è supportato solo GitHub .Currently, only GitHub is supported.
    AutorizzazioneAuthorization Fare clic sul pulsante Autorizza per concedere ad Automazione di Azure l'accesso al repository GitHub.Click the Authorize button to grant Azure Automation access to your GitHub repository. Se si è già connessi con l'account GitHub in una finestra diversa, verranno usate le credenziali di quell'account.If you are already logged in to your GitHub account in a different window, then the credentials of that account are used. Dopo aver ottenuto l'autorizzazione, nella pagina verrà visualizzato il nome utente di GitHub in Proprietà autorizzazione.Once authorization is successful, the page will show your GitHub username under Authorization Property.
    Scegliere un archivioChoose repository Selezionare un repository GitHub dall'elenco dei repository disponibili.Select a GitHub repository from the list of available repositories.
    Scegliere il ramoChoose branch Selezionare un ramo dall'elenco di rami disponibili.Select a branch from the list of available branches. Se non sono stati creati rami, sarà visualizzato solo il ramo master .Only the master branch is shown if you haven’t created any branches.
    Percorso della cartella runbookRunbook folder path Il percorso della cartella runbook specifica il percorso del repository GitHub nel quale si vuole effettuare il push o il pull del codice.The runbook folder path specifies the path in the GitHub repository from which you want to push or pull your code. Deve essere immesso nel formato /nomecartella/nomesottocartella.It must be entered in the format /foldername/subfoldername. Solo i runbook nel percorso della cartella runbook saranno sincronizzati con l'account di Automazione.Only runbooks in the runbook folder path will be synced to your Automation account. I runbook nelle sottocartelle del percorso della cartella runbook NON saranno sincronizzati.Runbooks in the subfolders of the runbook folder path will NOT be synced. Usare / per sincronizzare tutti i runbook disponibili nel repository.Use / to sync all the runbooks under the repository.
  3. Ad esempio, se è disponibile un repository denominato PowerShellScripts che contiene una cartella denominata RootFolder, che a sua volta contiene una cartella denominata SubFolder.For example, if you have a repository named PowerShellScripts that contains a folder named RootFolder, which contains a folder named SubFolder. Per la sincronizzazione di ogni livello di cartella, è possibile utilizzare le stringhe seguenti:You can use the following strings to sync each folder level:

    1. Per sincronizzare i runbook in repository, il percorso della cartella runbook è /To sync runbooks from repository, runbook folder path is /
    2. Per sincronizzare i runbook in RootFolder, il percorso della cartella runbook è /RootFolderTo sync runbooks from RootFolder, runbook folder path is /RootFolder
    3. Per sincronizzare i runbook in SubFolder, il percorso della cartella runbook è /RootFolder/SubFolder.To sync runbooks from SubFolder, runbook folder path is /RootFolder/SubFolder.
  4. Dopo la configurazione, i parametri vengono visualizzati nella pagina Impostare il controllo codice sorgente.After you configure the parameters, they are displayed on the Set Up Source Control page.

    Pagina di configurazione del controllo del codice sorgente

  5. Dopo aver fatto clic su OK, l'integrazione del controllo del codice sorgente è ora configurata per l'account di Automazione e dovrebbe essere aggiornata con le informazioni personali per GitHub.Once you click OK, source control integration is now configured for your Automation account and should be updated with your GitHub information. È quindi possibile fare clic su questa parte della schermata per visualizzare l'intera cronologia dei processi di sincronizzazione del controllo del codice sorgente.You can now click on this part to view all of your source control sync job history.

    Valori del repository

  6. Dopo avere configurato il controllo del codice sorgente, nell'account di automazione verranno create le risorse di automazione seguenti:After you set up source control, the following Automation resources will be created in your Automation account:
    Vengono creati due asset di tipo variabile.Two variable assets are created.

    • La variabile Microsoft.Azure.Automation.SourceControl.Connection contiene i valori della stringa di connessione, come illustrato di seguito.The variable Microsoft.Azure.Automation.SourceControl.Connection contains the values of the connection string, as shown below.

      ParametroParameter ValoreValue
      NomeName Microsoft.Azure.Automation.SourceControl.ConnectionMicrosoft.Azure.Automation.SourceControl.Connection
      TipoType StringString
      ValoreValue {"Branch":<Nome del ramo>,"RunbookFolderPath":<Percorso della cartella del runbook>,"ProviderType":< con valore 1 per GitHub>,"Repository":<Nome del repository>,"Username":<Nome utente di GitHub>}{"Branch":<Your branch name>,"RunbookFolderPath":<Runbook folder path>,"ProviderType":<has a value 1 for GitHub>,"Repository":<Name of your repository>,"Username":<Your GitHub user name>}
      • La variabile Microsoft.Azure.Automation.SourceControl.OAuthTokencontiene il valore sicuro crittografato di OAuthToken.The variable Microsoft.Azure.Automation.SourceControl.OAuthToken, contains the secure encrypted value of your OAuthToken.
      ParametroParameter ValoreValue
      NomeName Microsoft.Azure.Automation.SourceControl.OAuthTokenMicrosoft.Azure.Automation.SourceControl.OAuthToken
      TipoType Unknown(Encrypted)Unknown(Encrypted)
      ValoreValue <OAuthToken crittografato><Encrypted OAuthToken>

      Variabili

      • Controllo del codice sorgente di automazione come applicazione autorizzata.Automation Source Control is added as an authorized application to your GitHub account. Per visualizzare l'applicazione: dalla home page di GitHub passare al proprio profilo > Impostazioni > Applicazioni.To view the application: From your GitHub home page, navigate to your profile > Settings > Applications. Questa applicazione consente ad Automazione di Azure di sincronizzare il repository GitHub con un account di automazione.This application allows Azure Automation to sync your GitHub repository to an Automation account.

      Applicazione Git

Uso del controllo del codice sorgente in AutomazioneUsing Source Control in Automation

Archiviare un runbook da Automazione di Azure nel controllo del codice sorgenteCheck in a runbook from Azure Automation to source control

L'archiviazione del runbook consente di effettuare il push delle modifiche apportate a un runbook in Automazione di Azure nel repository di controllo del codice sorgente.Runbook check in allows you to push the changes you have made to a runbook in Azure Automation into your source control repository. Ecco la procedura per archiviare un runbook:Below are the steps to check in a runbook:

  1. Dall'account di automazione creare un nuovo runbook testuale o modificare un runbook testuale esistente.From your Automation Account, create a new textual runbook, or edit an existing, textual runbook. Il runbook può essere un flusso di lavoro PowerShell o un runbook di script PowerShell.This runbook can be either a PowerShell Workflow or a PowerShell script runbook.
  2. Dopo aver modificato il runbook, salvarlo e fare clic su Archivia nella pagina Modifica.After you edit your runbook, save it and click check-in from the Edit page.

    Pulsante Archivia

    Nota

    L'archiviazione da Automazione di Azure sovrascrive il codice attualmente presente nel controllo del codice sorgente.Check-in from Azure Automation overwrites the code that currently exists in your source control. L'istruzione della riga di comando GIT equivalente per l'archiviazione è git add + git commit + git pushThe Git equivalent command-line instruction to check-in is git add + git commit + git push

  3. Selezionando Archivia viene visualizzato un messaggio di conferma. Fare clic su per continuare.When you click check-in, you are prompted with a confirmation message, click Yes to continue.

    Messaggio di archiviazione

  4. L'archiviazione avvia il runbook di controllo del codice sorgente: Sync-MicrosoftAzureAutomationAccountToGitHubV1.Check-in starts the source control runbook: Sync-MicrosoftAzureAutomationAccountToGitHubV1. Questo runbook si connette a GitHub ed effettua il push delle modifiche da Automazione di Azure al repository.This runbook connects to GitHub and pushes changes from Azure Automation to your repository. Per visualizzare la cronologia dei processi di archiviazione, tornare alla scheda Integrazione del controllo del codice sorgente e fare clic per aprire la pagina Sincronizzazione repository.To view the checked in job history, go back to the Source Control Integration tab and click to open the Repository Synchronization page. Questa pagina mostra tutti i processi di controllo del codice sorgente.This page shows all of your source control jobs. Selezionare il processo che si vuole visualizzare e fare clic per vedere i dettagli.Select the job you want to view and click to view the details.

    Archiviazione del runbook

    Nota

    I runbook di controllo del codice sorgente sono runbook di automazione speciali che non è possibile visualizzare o modificare.Source control runbooks are special Automation runbooks that you cannot view or edit. Anche se non compaiono nell'elenco di runbook, i processi di sincronizzazione vengono visualizzati nell'elenco dei processi.While they do not show up on your runbook list, you see sync jobs showing in your jobs list.

  5. Il nome del runbook modificato viene inviato come parametro di input per il runbook archiviato.The name of the modified runbook is sent as an input parameter for the checked in runbook. È possibile visualizzare i dettagli del processo espandendo il runbook nella pagina Sincronizzazione repository.You can view the job details by expanding runbook in Repository Synchronization page.

    Archiviazione dell'input

  6. Aggiornare il repository GitHub al termine del processo per visualizzare le modifiche.Refresh your GitHub repository once the job completes to view the changes. Nel repository dovrebbe essere presente un commit con un messaggio simile al seguente: Aggiornato nome runbook in Automazione di Azure.There should be a commit in your repository with a commit message: Updated Runbook Name in Azure Automation.

Sincronizzare i runbook dal controllo del codice sorgente in Automazione di AzureSync runbooks from source control to Azure Automation

Il pulsante di sincronizzazione nella pagina Sincronizzazione repository consente di effettuare il pull di tutti i runbook nel percorso della cartella runbook del repository all'account di Automazione.The sync button on the Repository Synchronization page allows you to pull all the runbooks in the runbook folder path of your repository to your Automation account. Lo stesso repository può essere sincronizzato con più account di automazione.The same repository can be synced to more than one Automation account. Ecco la procedura per sincronizzare un runbook:Below are the steps to sync a runbook:

  1. Nell'account di Automazione dove è stato configurato il controllo del codice sorgente aprire la pagina Integrazione del controllo del codice sorgente/Sincronizzazione repository e fare clic su Sincronizza. Viene visualizzato un messaggio di conferma. Fare clic su per continuare.From the Automation account where you set up source control, open the Source Control Integration/Repository Synchronization page and click Sync. You are prompted with a confirmation message, click Yes to continue.

    Pulsante Sincronizza

  2. La sincronizzazione avvia il runbook: Sync-MicrosoftAzureAutomationAccountFromGitHubV1.Sync starts the runbook: Sync-MicrosoftAzureAutomationAccountFromGitHubV1. Questo runbook si connette a GitHub ed effettua il pull delle modifiche dal repository ad Automazione di Azure.This runbook connects to GitHub and pulls the changes from your repository to Azure Automation. Dovrebbe essere presente un nuovo processo nella pagina Sincronizzazione repository per questa azione.You should see a new job on the Repository Synchronization page for this action. Per visualizzare i dettagli del processo di sincronizzazione, fare clic per aprire la pagina dei dettagli del processo.To view details about the sync job, click to open the job details page.

    Sincronizzazione dei runbook

    Nota

    Una sincronizzazione del controllo del codice sorgente sovrascrive la versione bozza dei runbook attualmente presenti nell'account di automazione per TUTTI i runbook attualmente nel controllo del codice sorgente.A sync from source control overwrites the draft version of the runbooks that currently exist in your Automation account for ALL runbooks that are currently in source control. L'istruzione della riga di comando GIT equivalente per la sincronizzazione è git pullThe Git equivalent command-line instruction to sync is git pull

Risoluzione dei problemi di controllo del codice sorgenteTroubleshooting source control problems

In caso di errori per un processo di archiviazione o sincronizzazione, il relativo stato dovrebbe essere sospeso e si possono visualizzare altri dettagli sull'errore nella pagina del processo.If there are any errors with a check in or sync job, the job status should be suspended and you can view more details about the error in the job page. La parte Tutti i log mostra tutti i flussi di PowerShell associati a quel processo.The All Logs part shows you all the PowerShell streams associated with that job. In questo modo vengono forniti i dettagli necessari per risolvere gli eventuali problemi relativi all'archiviazione o alla sincronizzazione. Viene anche mostrata la sequenza di azioni che si è verificata durante la sincronizzazione o l'archiviazione di un runbook.This provides you with the details needed to help you fix any problems with your check in or sync. It also shows you the sequence of actions that occurred while syncing or checking in a runbook.

Immagine AllLogs

Disconnessione del controllo del codice sorgenteDisconnecting source control

Per disconnettersi dall'account GitHub, aprire la pagina Sincronizzazione repository e fare clic su Disconnetti.To disconnect from your GitHub account, open the Repository Synchronization page and click Disconnect. Dopo la disconnessione dal controllo del codice sorgente, i runbook sincronizzati in precedenza rimangono nell'account di Automazione, ma la pagina Sincronizzazione repository non sarà abilitata.Once you disconnect source control, runbooks that were synced earlier still remain in your Automation account but the Repository Synchronization page will not be enabled.

Pulsante Disconnetti

Passaggi successiviNext steps

Per altre informazioni sull'integrazione del controllo del codice sorgente, vedere le risorse seguenti:For more information about source control integration, see the following resources: