Per configurare la distribuzione continua per un'app Golang in Azure, attenersi alla seguente procedura:
Passaggio 1: creare un registro contenitori di Azure
1. Vai al portale di Azure e vai alla sezione Registro dei contenitori.
2. Fare clic su Crea una risorsa e selezionare Registro contenitori.
3. Inserisci i dettagli richiesti e fai clic su Rivedi + Crea.
4. Abilita l'accesso Docker e annota il nome utente e la password per un uso successivo[1].
Passaggio 2: dockerizza l'app Golang
1. Clonare il progetto API Golang da GitHub.
2. Eseguire l'applicazione utilizzando "go run main.go".
3. Testare l'applicazione ed eseguire i test unitari.
4. Crea un Dockerfile per creare l'immagine Docker per l'app Golang[1].
Passaggio 3: pubblicare l'immagine Docker nel Registro contenitori di Azure
1. Crea l'immagine Docker utilizzando `docker build -t
2. Contrassegnare l'immagine con l'URL del registro e il nome utente: `docker tag
3. Eseguire il push dell'immagine nel Registro contenitori di Azure utilizzando "docker push
Passaggio 4: creare un'app Web di Azure
1. Vai al portale di Azure e vai alla sezione Servizio app.
2. Fare clic su Crea una risorsa e selezionare App Web.
3. Inserisci i dettagli richiesti e fai clic su Rivedi + Crea.
4. Impostare il runtime su Windows e il framework su Go[2].
Passaggio 5: configurare la distribuzione continua
1. Nel portale di Azure passare al Centro di distribuzione per il servizio app.
2. Seleziona Impostazioni e quindi Origine.
3. Scegli GitHub Actions come provider di build.
4. Autorizza il tuo account Azure con GitHub.
5. Seleziona il repository e il ramo da cui vuoi eseguire la distribuzione.
6. Configurare le impostazioni di creazione e distribuzione secondo necessità[3][4].
Passaggio 6: impostare le azioni GitHub
1. Crea un nuovo file del flusso di lavoro GitHub Actions (`*.yml`) nel tuo repository.
2. Definire il flusso di lavoro per creare e distribuire l'immagine Docker nel Registro contenitori di Azure.
3. Configurare il flusso di lavoro per l'attivazione di eventi push al ramo specificato[1].
Passaggio 7: connettere le azioni GitHub al Servizio app di Azure
1. Nel portale di Azure passare al Centro di distribuzione per il servizio app.
2. Seleziona Impostazioni e quindi Origine.
3. Scegli GitHub Actions come provider di build.
4. Autorizza il tuo account Azure con GitHub.
5. Seleziona il repository e il ramo da cui vuoi eseguire la distribuzione.
6. Configurare le impostazioni di creazione e distribuzione secondo necessità[3][4].
Passaggio 8: monitorare e testare
1. Monitorare i log di distribuzione nel portale di Azure.
2. Testare l'applicazione distribuita per assicurarsi che funzioni correttamente.
Seguendo questi passaggi è possibile configurare la distribuzione continua per l'app Golang in Azure usando GitHub Actions e i contenitori Docker.
Citazioni:[1] https://circleci.com/blog/deploy-dockerized-go-app-to-azure/
[2] https://www.youtube.com/watch?v=Te9bF01iqWM
[3] https://learn.microsoft.com/en-us/azure/app-service/deploy-continuous-deployment
[4] https://dev.to/parveensingh/continuous-deployment-for-azure-app-service-github-and-azure-repos-4oog
[5] https://docs.github.com/en/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure