SlideShare a Scribd company logo
1 of 16
USE AZURE DEVOPS TO DEPLOY
AZURE FUNCTION IN DOCKER
ON RASPBERRY PI
Janusz Nowak
@jnowwwak
https://www.linkedin.com/in/janono
https://github.com/janusznowak
https://blog.janono.pl
About me - Janusz Nowak
• I graduated 2008
• Father of
• Over 14 years of professional experience as software developer
about 9 year also with TFS/VSTS/Azure Dev Ops and over 3 years with Azure
• Working now for
as DevOps It Manager
• Passionate about ALM, Cloud, Server less, Infrastructure as Code
Agenda
1. Przygotowanie Środowiska i Maliny
2. Stworzenie Azure Function V2 .net Core
3. Uruchomienie lokalnie
4. Dockerfile
5. Azure Repository dodanie kodu do repozytorium
6. Stworzenie CI w Azure DevOps
7. Stworzenie CD w Azure DevOps
8. Dodanie Connectorów
9. Demo
10. Podsumowanie możliwe rozszeżenia
11. Pytania
Przygotowanie
Maliny
https://www.raspberrypi.org/
W przypadku RPi3 możemy zainslować OSMC
W przypadku RPi4 Raspbian lub Ubuntu
Instalujemy na karice pamięci lub dysku USB (RPi3)
Włączamy SSH
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
sudo usermod -a -G docker pi
docker --version
Przekierownai portów lub build agent on RPi
Stworzenie Azure Function V2 .net Core
Uruchomienie lokalnie-Azure Function V2 .net Core
Docker File
# Base the image on the built-in Azure Functions Linux image.
FROM microsoft/azure-functions-runtime:2.0.0-stretch-arm32v7
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
# Add files from this repo to the root site folder.
COPY . /home/site/wwwroot
COPY /FunctionApp1 /home/site/wwwroot
Azure Repos - Repozytorium kodu
Azure Pipelines - Utworzenie Pipeline
Azure Pipelines - Utworzenie Relese Pipeline
Azure Pipelines - Utworzenie Relese Pipeline
Azure Pipelines - Utworzenie Relese Pipeline
Service
Connections
- SSH
Demo
• Zmiana kodu
• http://dotnetconf.ga
Podsumowanie /Możliwe rozszeżenia
• Testy wydajnościowe
• Agent również w dockerze
• Docker Compose
• Openfaas
• Docker Swarm
• Kubernetes
• Ten sam kod deployment Chmury
USE AZURE DEVOPS TO DEPLOY
AZURE FUNCTION IN DOCKER
ON RASPBERRY PI
Janusz Nowak
@jnowwwak
https://www.linkedin.com/in/janono
https://github.com/janusznowak
https://blog.janono.pl
Dziękuje za uwagę!

More Related Content

What's hot

Kubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsKubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsThe Software House
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Chris Suszyński
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupu
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupuvSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupu
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupuMaciej Stopa
 
Wykorzystaj serwisy Azure i skup się na tym, co ważne
Wykorzystaj serwisy Azure i skup się na tym, co ważneWykorzystaj serwisy Azure i skup się na tym, co ważne
Wykorzystaj serwisy Azure i skup się na tym, co ważneKrzysztof Szabelski
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 

What's hot (9)

Kubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsKubernetes (Canary) Deployments
Kubernetes (Canary) Deployments
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupu
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupuvSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupu
vSphere Data Protection czyli jak utracic dane dzieki oprogramowaniu do backupu
 
Wykorzystaj serwisy Azure i skup się na tym, co ważne
Wykorzystaj serwisy Azure i skup się na tym, co ważneWykorzystaj serwisy Azure i skup się na tym, co ważne
Wykorzystaj serwisy Azure i skup się na tym, co ważne
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 

Similar to Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetConfPL 2019 - Janusz Nowak

Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryXSolve
 
Przenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposePrzenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposeMariusz Bąk
 
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁOAtlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁONetworkedAssets
 
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aUruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aLaravel Poland MeetUp
 
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...HighSolutions Sp. z o.o.
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceDawid Urbański
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 
Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerKamil Grabowski
 
WordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentWordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentInterSynergy
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiBartosz Ratajczyk
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net coreVimanet
 
Visual Basic 2005 Express i My Sql ebook
Visual Basic 2005 Express i My Sql ebookVisual Basic 2005 Express i My Sql ebook
Visual Basic 2005 Express i My Sql ebooke-booksweb.pl
 

Similar to Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetConfPL 2019 - Janusz Nowak (20)

Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
Przenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposePrzenieś się do kontenera, czyli korzyści z Docker i Docker Compose
Przenieś się do kontenera, czyli korzyści z Docker i Docker Compose
 
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁOAtlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
 
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aUruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
 
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu Docker
 
WordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć developmentWordUp Łódź - Bedrock - jak przyspieszyć development
WordUp Łódź - Bedrock - jak przyspieszyć development
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Java. Wprowadzenie
Java. WprowadzenieJava. Wprowadzenie
Java. Wprowadzenie
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze kroki
 
SPA i .Net Core
SPA i .Net CoreSPA i .Net Core
SPA i .Net Core
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net core
 
Visual Basic 2005 Express i My Sql ebook
Visual Basic 2005 Express i My Sql ebookVisual Basic 2005 Express i My Sql ebook
Visual Basic 2005 Express i My Sql ebook
 
Php i Microsoft
Php i MicrosoftPhp i Microsoft
Php i Microsoft
 

Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetConfPL 2019 - Janusz Nowak

  • 1. USE AZURE DEVOPS TO DEPLOY AZURE FUNCTION IN DOCKER ON RASPBERRY PI Janusz Nowak @jnowwwak https://www.linkedin.com/in/janono https://github.com/janusznowak https://blog.janono.pl
  • 2. About me - Janusz Nowak • I graduated 2008 • Father of • Over 14 years of professional experience as software developer about 9 year also with TFS/VSTS/Azure Dev Ops and over 3 years with Azure • Working now for as DevOps It Manager • Passionate about ALM, Cloud, Server less, Infrastructure as Code
  • 3. Agenda 1. Przygotowanie Środowiska i Maliny 2. Stworzenie Azure Function V2 .net Core 3. Uruchomienie lokalnie 4. Dockerfile 5. Azure Repository dodanie kodu do repozytorium 6. Stworzenie CI w Azure DevOps 7. Stworzenie CD w Azure DevOps 8. Dodanie Connectorów 9. Demo 10. Podsumowanie możliwe rozszeżenia 11. Pytania
  • 4. Przygotowanie Maliny https://www.raspberrypi.org/ W przypadku RPi3 możemy zainslować OSMC W przypadku RPi4 Raspbian lub Ubuntu Instalujemy na karice pamięci lub dysku USB (RPi3) Włączamy SSH curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh sudo usermod -a -G docker pi docker --version Przekierownai portów lub build agent on RPi
  • 7. Docker File # Base the image on the built-in Azure Functions Linux image. FROM microsoft/azure-functions-runtime:2.0.0-stretch-arm32v7 ENV AzureWebJobsScriptRoot=/home/site/wwwroot # Add files from this repo to the root site folder. COPY . /home/site/wwwroot COPY /FunctionApp1 /home/site/wwwroot
  • 8. Azure Repos - Repozytorium kodu
  • 9. Azure Pipelines - Utworzenie Pipeline
  • 10. Azure Pipelines - Utworzenie Relese Pipeline
  • 11. Azure Pipelines - Utworzenie Relese Pipeline
  • 12. Azure Pipelines - Utworzenie Relese Pipeline
  • 14. Demo • Zmiana kodu • http://dotnetconf.ga
  • 15. Podsumowanie /Możliwe rozszeżenia • Testy wydajnościowe • Agent również w dockerze • Docker Compose • Openfaas • Docker Swarm • Kubernetes • Ten sam kod deployment Chmury
  • 16. USE AZURE DEVOPS TO DEPLOY AZURE FUNCTION IN DOCKER ON RASPBERRY PI Janusz Nowak @jnowwwak https://www.linkedin.com/in/janono https://github.com/janusznowak https://blog.janono.pl Dziękuje za uwagę!

Editor's Notes

  1. Few words about me
  2. Tworzymy zwyczajną azure function w wersji 2 ponieważ .net nore wileo platformowy Możemy dodać testy itd.
  3. Jesteśmy w stanie uruchomić loklanie I dostać odpowidz
  4. Dodajeky plik dockerfile
  5. Dodajemy kroki lub wybieramy deplatek dodatkowo publiskujemy artefakty Wybór repozytorium
  6. Tworzymy Release Pipeline towrzymy 2 fazy jako artefakt podpianym artefakt buildu
  7. Dodajemy dwa kroki build I deploy budujemy to na agencie linxukosówym