SlideShare une entreprise Scribd logo
1  sur  18
DevOps: Automatische
Deployments mit TFS &
Octopus Deploy
CHRISTOPH BODE
DSPACE GMBH
Was wollen wir uns heute ansehen?
• Was ist DevOps?
• Tools:TFS und Octopus Deploy
• Beschreibung der Demo
• Demo
• Ausblick
DevOps
AUTOMATISIERT IN PRODUKTION
Was ist DevOps? (1/2)
• Prozessverbesserungs-Ansatz
• DevOps = Development + Operations
• Anreize, Prozesse undTools für eine effektivere und
effizientere Zusammenarbeit
• Ziel istVerbesserung von
• Qualität der Software
• Geschwindigkeit der Entwicklung
• Geschwindigkeit der Auslieferung
• Miteinander der beteiligtenTeams
Quelle: https://de.wikipedia.org/wiki/DevOps
https://commons.wikimedia.org/wiki/File:Devops.svg
Was ist DevOps? (2/2)
Quelle: https://en.wikipedia.org/wiki/File:Devops-toolchain.svg
Heute: Fokus auf denTools!
Heute eingesetzte Tools
TFS UND OCTOPUS DEPLOY
Team Foundation Server
• Von Microsoft
• Versionskontrolle:TFVC, git
• Projektplanung (Kanban, Scrum, Dashboards)
• Erweiterbares Build-System
• Cloud oder On-Premises
• VM zumAusprobieren: https://almvm.azurewebsites.net/
Tentacle
(DeployTarget)
Octopus Deploy
Tentacle
(DeployTarget)
• Gegründet 2011 in Brisbane, Australien
• Wird von 9000 Organisationen verwendet
• Fokus auf .NET Entwicklung
• Kostenlos für kleine Installationen
• Alternativen: Chef, Puppet, Ansible, GoCD
Octopus Server
Tentacle
(DeployTarget)
???
Problembeschreibung
WARUM TUN WIR UNS DAS ALLES AN?
Szenario
• Entwicklung einer API (z.B. für eine App)
• Hosting des Servers im Rechenzentrum der Firma
• Server mit ASP.NET Core, gehostet auf IIS
Was haben wir vor?
Development
Staging
Production
Server
Dev
Main
TFS Octopus
CI CI
R R
BuildRepos
Environment Staging
• Abnahme auf Staging
• Sollte identisch zu Production aufgebaut sein
Development
Staging
Production
Environment Production
• Identisches Deployment wie bei Staging
• Paket / Binary
• Deployment-Prozedur
Terminologie von Octopus Deploy
Development
Staging
Production
CI CI
R R
Schritte:
• Create Package
• Push Package
• Create Release
1. Package Repository
2. Environment
3. Role
4. Project
5. Channel
6. Lifecycle / Promote
1
2
4
6
5
3
Demo
JETZT MAL IN ECHT
Ausblick
DAS SZENARIO WEITERGEDACHT
Und wenn… (1/2)
• … ich aufAzure deployen will? -> out of the box
• … ich auf Linux deployen will? -> nur per SSH
• … der Server keinTentacle sein darf? -> Offline Package Drop
• … ich komplexere Deployment-Strategien brauche?
• Rolling Deployments
• Canary Deployments
• Blue-Green Deployments
Und wenn… (2/2)
• … ich mein Datenbank-Schema mit deployen möchte?
• Keine direkte Schema-Migration durch Octopus Deploy
• Z.B. Nutzung von DbUp: https://dbup.github.io/
• Zweites Package mit SQL-Files + DbUp
• SQL-Files durchnummeriert
• EigeneTabelle für dieVersion
• Ausführung auf Server mit Rolle „DB“
Danke für Eure Aufmerksamkeit

Contenu connexe

Tendances

DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay Dresden
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Der Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten UmgebungDer Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten Umgebungx-celerate
 
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring Boot
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring BootOWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring Boot
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring BootAndreas Falk
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionTorben Knerr
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Torben Knerr
 
NETFOX Admin-Treff: Penetration Testing II
NETFOX Admin-Treff: Penetration Testing IINETFOX Admin-Treff: Penetration Testing II
NETFOX Admin-Treff: Penetration Testing IINETFOX AG
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018Puppet
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay Dresden
 
bytemine OpenVPN4UCS - VPN mit einem Klick
bytemine OpenVPN4UCS - VPN mit einem Klickbytemine OpenVPN4UCS - VPN mit einem Klick
bytemine OpenVPN4UCS - VPN mit einem KlickUnivention GmbH
 
Skalierbares CI Deployment mit Docker
Skalierbares CI Deployment mit DockerSkalierbares CI Deployment mit Docker
Skalierbares CI Deployment mit DockerLars Martin
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15m1no
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICQAware GmbH
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easyinovex GmbH
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceOPEN KNOWLEDGE GmbH
 
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Peter Kirchner
 

Tendances (20)

DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Der Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten UmgebungDer Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten Umgebung
 
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring Boot
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring BootOWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring Boot
OWASP German Day 2016 - Sicher in die Cloud mit Angular 2 und Spring Boot
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible session
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
 
NETFOX Admin-Treff: Penetration Testing II
NETFOX Admin-Treff: Penetration Testing IINETFOX Admin-Treff: Penetration Testing II
NETFOX Admin-Treff: Penetration Testing II
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend Monolith
 
bytemine OpenVPN4UCS - VPN mit einem Klick
bytemine OpenVPN4UCS - VPN mit einem Klickbytemine OpenVPN4UCS - VPN mit einem Klick
bytemine OpenVPN4UCS - VPN mit einem Klick
 
Skalierbares CI Deployment mit Docker
Skalierbares CI Deployment mit DockerSkalierbares CI Deployment mit Docker
Skalierbares CI Deployment mit Docker
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Cloud-Native ohne Vendor Lock-in mit Kubernetes
Cloud-Native ohne Vendor Lock-in mit KubernetesCloud-Native ohne Vendor Lock-in mit Kubernetes
Cloud-Native ohne Vendor Lock-in mit Kubernetes
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUIC
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easy
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
 

Similaire à DevOps: Automatisierte Deployments mit TFS & Octopus Deploy

BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoATIX AG
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance ReloadedGregor Goldbach
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungFrank Schmittlein
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit RexJan Gehring
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rexinovex GmbH
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickUdo Pracht
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit AnsibleMichael Döhler
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
OSDC 2013 | Continuous Integration in data centers by Michael Prokop
OSDC 2013 | Continuous Integration in data centers by Michael ProkopOSDC 2013 | Continuous Integration in data centers by Michael Prokop
OSDC 2013 | Continuous Integration in data centers by Michael ProkopNETWAYS
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)NETWAYS
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 

Similaire à DevOps: Automatisierte Deployments mit TFS & Octopus Deploy (20)

BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhino
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance Reloaded
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale Entwicklungsumgebung
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit Ansible
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
OSDC 2013 | Continuous Integration in data centers by Michael Prokop
OSDC 2013 | Continuous Integration in data centers by Michael ProkopOSDC 2013 | Continuous Integration in data centers by Michael Prokop
OSDC 2013 | Continuous Integration in data centers by Michael Prokop
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Deployment
DeploymentDeployment
Deployment
 

Plus de Mark Lechtermann

Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMMark Lechtermann
 
Microsoft Connect 2018 .NET User Group Paderborn
Microsoft Connect 2018 .NET User Group PaderbornMicrosoft Connect 2018 .NET User Group Paderborn
Microsoft Connect 2018 .NET User Group PaderbornMark Lechtermann
 
DevOps - Experimentieren aber wie? - Björn Senft
DevOps - Experimentieren aber wie? - Björn SenftDevOps - Experimentieren aber wie? - Björn Senft
DevOps - Experimentieren aber wie? - Björn SenftMark Lechtermann
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Mark Lechtermann
 

Plus de Mark Lechtermann (7)

Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVM
 
GraphQL with .NET Core
GraphQL with .NET CoreGraphQL with .NET Core
GraphQL with .NET Core
 
Microsoft Connect 2018 .NET User Group Paderborn
Microsoft Connect 2018 .NET User Group PaderbornMicrosoft Connect 2018 .NET User Group Paderborn
Microsoft Connect 2018 .NET User Group Paderborn
 
MQTT with .NET Core
MQTT with .NET CoreMQTT with .NET Core
MQTT with .NET Core
 
DevOps - Experimentieren aber wie? - Björn Senft
DevOps - Experimentieren aber wie? - Björn SenftDevOps - Experimentieren aber wie? - Björn Senft
DevOps - Experimentieren aber wie? - Björn Senft
 
Electron
ElectronElectron
Electron
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0
 

DevOps: Automatisierte Deployments mit TFS & Octopus Deploy

  • 1. DevOps: Automatische Deployments mit TFS & Octopus Deploy CHRISTOPH BODE DSPACE GMBH
  • 2. Was wollen wir uns heute ansehen? • Was ist DevOps? • Tools:TFS und Octopus Deploy • Beschreibung der Demo • Demo • Ausblick
  • 4. Was ist DevOps? (1/2) • Prozessverbesserungs-Ansatz • DevOps = Development + Operations • Anreize, Prozesse undTools für eine effektivere und effizientere Zusammenarbeit • Ziel istVerbesserung von • Qualität der Software • Geschwindigkeit der Entwicklung • Geschwindigkeit der Auslieferung • Miteinander der beteiligtenTeams Quelle: https://de.wikipedia.org/wiki/DevOps https://commons.wikimedia.org/wiki/File:Devops.svg
  • 5. Was ist DevOps? (2/2) Quelle: https://en.wikipedia.org/wiki/File:Devops-toolchain.svg Heute: Fokus auf denTools!
  • 6. Heute eingesetzte Tools TFS UND OCTOPUS DEPLOY
  • 7. Team Foundation Server • Von Microsoft • Versionskontrolle:TFVC, git • Projektplanung (Kanban, Scrum, Dashboards) • Erweiterbares Build-System • Cloud oder On-Premises • VM zumAusprobieren: https://almvm.azurewebsites.net/
  • 8. Tentacle (DeployTarget) Octopus Deploy Tentacle (DeployTarget) • Gegründet 2011 in Brisbane, Australien • Wird von 9000 Organisationen verwendet • Fokus auf .NET Entwicklung • Kostenlos für kleine Installationen • Alternativen: Chef, Puppet, Ansible, GoCD Octopus Server Tentacle (DeployTarget) ???
  • 10. Szenario • Entwicklung einer API (z.B. für eine App) • Hosting des Servers im Rechenzentrum der Firma • Server mit ASP.NET Core, gehostet auf IIS
  • 11. Was haben wir vor? Development Staging Production Server Dev Main TFS Octopus CI CI R R BuildRepos
  • 12. Environment Staging • Abnahme auf Staging • Sollte identisch zu Production aufgebaut sein Development Staging Production Environment Production • Identisches Deployment wie bei Staging • Paket / Binary • Deployment-Prozedur
  • 13. Terminologie von Octopus Deploy Development Staging Production CI CI R R Schritte: • Create Package • Push Package • Create Release 1. Package Repository 2. Environment 3. Role 4. Project 5. Channel 6. Lifecycle / Promote 1 2 4 6 5 3
  • 16. Und wenn… (1/2) • … ich aufAzure deployen will? -> out of the box • … ich auf Linux deployen will? -> nur per SSH • … der Server keinTentacle sein darf? -> Offline Package Drop • … ich komplexere Deployment-Strategien brauche? • Rolling Deployments • Canary Deployments • Blue-Green Deployments
  • 17. Und wenn… (2/2) • … ich mein Datenbank-Schema mit deployen möchte? • Keine direkte Schema-Migration durch Octopus Deploy • Z.B. Nutzung von DbUp: https://dbup.github.io/ • Zweites Package mit SQL-Files + DbUp • SQL-Files durchnummeriert • EigeneTabelle für dieVersion • Ausführung auf Server mit Rolle „DB“
  • 18. Danke für Eure Aufmerksamkeit

Notes de l'éditeur

  1. https://www.heise.de/developer/artikel/DevOps-APM-und-der-Single-Point-of-Failure-3058558.html
  2. https://www.heise.de/developer/artikel/DevOps-APM-und-der-Single-Point-of-Failure-3058558.html
  3. https://www.heise.de/developer/artikel/DevOps-APM-und-der-Single-Point-of-Failure-3058558.html