SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Getting started with
Octopus Deploy
Karoline Klever
@karolikl
karolikl@gmail.com
“Our mission is to help .NET developers
deliver software to production
successfully.” – Octopus Deploy
Schedule
• Module 1: The Octopus Deploy Server
• Module 2: The Octopus Deploy Tentacles
• Module 3: Projects and packages
• Module 4: The deployment process
• Module 5: Advanced topics
How?
• Discussions
• Theory
• Exercises
Discussion:
Manual vs Automatic deployments
Module 1:
The Octopus Deploy Server
Screenshot from demo site: https://demo.octopusdeploy.com/
The Octopus Web Portal
Environments
Screenshot from demo site: https://demo.octopusdeploy.com/app#/environments
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 1: Installing the Octopus Deploy Server
• Exercise 2: Setting up your environments
Module 2:
Octopus Deploy Tenacles
Tentacles
Tentacle
Octopus Deploy Server
Tentacle
Tentacle
Tentacle
Tentacle
Tentacle
Azure Website
Server with FTP
access only
Tentacle modes
• Listening (recommended)
• Listens to TCP port
• Polling
• Polls the Octopus Server periodically
Machines
Screenshot from demo site: https://demo.octopusdeploy.com/app#/environments
Machine roles
Screenshot from demo site: https://demo.octopusdeploy.com/app#/projects/octofx-rate-service/process
Example
Test
Production
Test server
Prod server 1 Prod server 2
Applications:
Web Forms Application
(runs on test server + 1 production server)
ASP.NET MVC Application
(runs on test server + both production servers)
Example
Test
Production
Test server
Prod server 1 Prod server 2
Applications:
Web Forms Application
(runs on test server + 1 production server)
Role: forms-server
ASP.NET MVC Application
(runs on test server + both production servers)
Role: web-server
Example
Test
Production
Test server
forms-server & web-server
Prod server 1
forms-server & web-server
Prod server 2
web-server
Applications:
Web Forms Application
(runs on test server + 1 production server)
Role: forms-server
ASP.NET MVC Application
(runs on test server + both production servers)
Role: web-server
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 3: Installing an Octopus Deploy Tentacle
• Exercise 4: Add a machine to the test environment
Module 3:
Projects and Packages
Projects
Screenshot from demo site: https://demo.octopusdeploy.com/app#/projects
Project groups
Screenshot from demo site: https://demo.octopusdeploy.com/app#/projects
Packages
• NuGet packages
• Feeds
• Built-in Octopus feed
• External feed
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 5: Creating a project
• Exercise 6: Uploading a package
Module 4:
The deployment process
Deployment process
Screenshot from demo site: https://demo.octopusdeploy.com/app#/projects/octofx-trading-website/process
Step types
• Deploy a NuGet package
• Run a PowerShell script
• Send an email
• Manual intervention required
• Deploy to Windows Azure
• Upload files by FTP
• ... and you can create your own
Sequential vs parallel
• Sequential
• Step A finishes before step B can begin
• Default
• Parallel
• Step A and step B can run at the same time
Rolling deployments
• Run all steps on machine A before running them on machine B
• Child steps
Typical deployment process
• 1. Deploy web rolling
• 1.1. Remove server from load balancer
• 1.2. Deploy web application
• 1.3. Warmup web application
• 1.4. Add server back to load balancer
• 2. Email release notes to product owner
Releases
Screenshot from demo site: https://demo.octopusdeploy.com/app#/projects/octofx-trading-website/releases/2.9.3102
Variables
Screenshot from demo site: https://demo.octopusdeploy.com/app#/library/variables/LibraryVariableSets-1
Variable
• Name
• Value
• Scope
• Environments
• Machines
• Roles
#{VariableName}
Example
• Load balanced application in production, only one server should index
content.
Example
• Load balanced application in production, only one server should index
content.
Name Value Scope
RunIndexer false Production
RunIndexer true Production; Machine A
System variables
http://docs.octopusdeploy.com/display/OD/System+variables
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 7: Defining your deployment process
Module 5:
Advanced topics
Lifecycles
Step templates
Script modules
Library variable sets
Lifecycles
Screenshot from demo site: https://demo.octopusdeploy.com/app#/library/lifecycles/lifecycle-ProjectGroups-1
Lifecycles allow you to...
• ...control the order of deployment from one environment to the next
• ...automatically deploy to an environment when a release is created.
• ...define the number of releases to keep for each phase of the
lifecycle.
Controlling the order of deployment
Example:
A project should be deployed to either Development or Test before it's
deployed to Production.
• Phase 1: Deploy to either Development or Test
• Minimum environments before promotion: 1
• Phase 2: Deploy to Production
Automatically deploy to an environment
Example:
A release will automatically be deployed to Development when the
release is created
• Phase 1: Deploy to either Development or Test
• Automatically deploy to: Development
• Allow manual deployment to: Test
• Minimum environments before promotion: 1
• Phase 2: Deploy to Production
• Allow manual deployment to: Production
Define the number of releases to keep
Retention policies
• Number of releases to keep
• Number of days to keep a release
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 8: Configuring a lifecycle
Step templates
Screenshot from demo site: https://demo.octopusdeploy.com/app#/library/steps/ActionTemplates-1
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 9: Create a step template
Script modules
Screenshot from demo site: https://demo.octopusdeploy.com/app#/library/scripts/LibraryVariableSets-33
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 10: Create a script module
Library variable sets
Screenshot from demo site: https://demo.octopusdeploy.com/app#/library/variables/LibraryVariableSets-1
Lab
http://octopusdeploylab.azurewebsites.net/
• Exercise 11: Create a variable set
Keep in touch!
Karoline Klever
@karolikl
karolikl@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterpriseSanjeev Sharma
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub ActionsNilesh Gule
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...OutSystems
 
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesCloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesNikhil Thomas
 
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | EdurekaDocker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | EdurekaEdureka!
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesSlideTeam
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsAhmed Adel
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps ToolsJagatveer Singh
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdfBoreVishnusai
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfJuanSalinas593459
 
Funny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscapeFunny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscapeMikalai Alimenkou
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)Gourav Varma
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 

Was ist angesagt? (20)

CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Jenkins with SonarQube
Jenkins with SonarQubeJenkins with SonarQube
Jenkins with SonarQube
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub Actions
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
 
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesCloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
 
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | EdurekaDocker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdf
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
 
Funny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscapeFunny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscape
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 

Andere mochten auch

EPiServer Connect For Crm
EPiServer Connect For CrmEPiServer Connect For Crm
EPiServer Connect For CrmKaroline Klever
 
Deployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityDeployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityTomas Jansson
 
Deploy Automatizado usando Octopus
Deploy Automatizado usando OctopusDeploy Automatizado usando Octopus
Deploy Automatizado usando OctopusAndré Minelli
 
Making of Octopus Deploy - DDD Melbourne 2015
Making of Octopus Deploy - DDD Melbourne 2015Making of Octopus Deploy - DDD Melbourne 2015
Making of Octopus Deploy - DDD Melbourne 2015octopusdeploy
 
Анатолий Кулаков «Octopus Deploy во имя добра»
Анатолий Кулаков «Octopus Deploy во имя добра»Анатолий Кулаков «Octopus Deploy во имя добра»
Анатолий Кулаков «Octopus Deploy во имя добра»SpbDotNet Community
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus DeployKevin Kuszyk
 
Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014adriantwright
 
How To Upgrade Octopus
How To Upgrade OctopusHow To Upgrade Octopus
How To Upgrade Octopusvincent.biot
 
Octopus Service Level Agreements
Octopus Service Level AgreementsOctopus Service Level Agreements
Octopus Service Level Agreementsvincent.biot
 
Value added reslers for the Octopus Community
Value added reslers for the Octopus CommunityValue added reslers for the Octopus Community
Value added reslers for the Octopus Communityvincent.biot
 
Presentation IT companies
Presentation IT companiesPresentation IT companies
Presentation IT companiesvincent.biot
 
An Mfi Story Revisited
An Mfi Story RevisitedAn Mfi Story Revisited
An Mfi Story Revisitedvincent.biot
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotdamovisa
 
Paul Allen's Octopus
Paul Allen's OctopusPaul Allen's Octopus
Paul Allen's OctopusDaryll McDade
 
Octopus Microfinance Suite Functionalities Overview
Octopus Microfinance Suite Functionalities OverviewOctopus Microfinance Suite Functionalities Overview
Octopus Microfinance Suite Functionalities Overviewvincent.biot
 
Installation Guide - Octopus
Installation Guide - OctopusInstallation Guide - Octopus
Installation Guide - Octopusvincent.biot
 
Presentation on Communication
Presentation on CommunicationPresentation on Communication
Presentation on Communicationguesta3562
 

Andere mochten auch (20)

EPiServer Connect For Crm
EPiServer Connect For CrmEPiServer Connect For Crm
EPiServer Connect For Crm
 
Deployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityDeployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCity
 
Deploy Automatizado usando Octopus
Deploy Automatizado usando OctopusDeploy Automatizado usando Octopus
Deploy Automatizado usando Octopus
 
Making of Octopus Deploy - DDD Melbourne 2015
Making of Octopus Deploy - DDD Melbourne 2015Making of Octopus Deploy - DDD Melbourne 2015
Making of Octopus Deploy - DDD Melbourne 2015
 
Анатолий Кулаков «Octopus Deploy во имя добра»
Анатолий Кулаков «Octopus Deploy во имя добра»Анатолий Кулаков «Octopus Deploy во имя добра»
Анатолий Кулаков «Octopus Deploy во имя добра»
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
 
Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014
 
How To Upgrade Octopus
How To Upgrade OctopusHow To Upgrade Octopus
How To Upgrade Octopus
 
Octopus Service Level Agreements
Octopus Service Level AgreementsOctopus Service Level Agreements
Octopus Service Level Agreements
 
Presentation May, 2012
Presentation May, 2012Presentation May, 2012
Presentation May, 2012
 
Value added reslers for the Octopus Community
Value added reslers for the Octopus CommunityValue added reslers for the Octopus Community
Value added reslers for the Octopus Community
 
Presentation IT companies
Presentation IT companiesPresentation IT companies
Presentation IT companies
 
Product Overview
Product OverviewProduct Overview
Product Overview
 
An Mfi Story Revisited
An Mfi Story RevisitedAn Mfi Story Revisited
An Mfi Story Revisited
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
 
Paul Allen's Octopus
Paul Allen's OctopusPaul Allen's Octopus
Paul Allen's Octopus
 
Octopus Logiciel Microfinance SIG
Octopus Logiciel Microfinance SIGOctopus Logiciel Microfinance SIG
Octopus Logiciel Microfinance SIG
 
Octopus Microfinance Suite Functionalities Overview
Octopus Microfinance Suite Functionalities OverviewOctopus Microfinance Suite Functionalities Overview
Octopus Microfinance Suite Functionalities Overview
 
Installation Guide - Octopus
Installation Guide - OctopusInstallation Guide - Octopus
Installation Guide - Octopus
 
Presentation on Communication
Presentation on CommunicationPresentation on Communication
Presentation on Communication
 

Ähnlich wie Getting started with Octopus Deploy

Contributing to OpenStack
Contributing to OpenStackContributing to OpenStack
Contributing to OpenStackdevkulkarni
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentPlatform9
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeCassey Lottman
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksGoDataDriven
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
Contributing to OpenStack
Contributing to OpenStackContributing to OpenStack
Contributing to OpenStackdevkulkarni
 
Dockerizing Python Applications
Dockerizing Python ApplicationsDockerizing Python Applications
Dockerizing Python ApplicationsJeffrey Eliasen
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
 
Cypress report
Cypress reportCypress report
Cypress reportAdarsh
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack SummitMiguel Zuniga
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...Amazon Web Services
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMdevkulkarni
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using JenkinsRogue Wave Software
 
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupOpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupTobias Schneck
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersXavier Coulon
 
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich  - Docker Tooling and Vagrant ToolingEclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich - Docker Tooling and Vagrant ToolingXavier Coulon
 
GAB 2017 NICE - Docker Hands-On-Lab
GAB 2017 NICE - Docker Hands-On-LabGAB 2017 NICE - Docker Hands-On-Lab
GAB 2017 NICE - Docker Hands-On-LabAZUG FR
 
Automated Testing on Web Applications
Automated Testing on Web ApplicationsAutomated Testing on Web Applications
Automated Testing on Web ApplicationsSamuel Borg
 

Ähnlich wie Getting started with Octopus Deploy (20)

Contributing to OpenStack
Contributing to OpenStackContributing to OpenStack
Contributing to OpenStack
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software Development
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of Code
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
Contributing to OpenStack
Contributing to OpenStackContributing to OpenStack
Contributing to OpenStack
 
Dockerizing Python Applications
Dockerizing Python ApplicationsDockerizing Python Applications
Dockerizing Python Applications
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
Cypress report
Cypress reportCypress report
Cypress report
 
End_to_End_DevOps.pptx
End_to_End_DevOps.pptxEnd_to_End_DevOps.pptx
End_to_End_DevOps.pptx
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALM
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupOpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for Developers
 
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich  - Docker Tooling and Vagrant ToolingEclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
 
GAB 2017 NICE - Docker Hands-On-Lab
GAB 2017 NICE - Docker Hands-On-LabGAB 2017 NICE - Docker Hands-On-Lab
GAB 2017 NICE - Docker Hands-On-Lab
 
Automated Testing on Web Applications
Automated Testing on Web ApplicationsAutomated Testing on Web Applications
Automated Testing on Web Applications
 

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Getting started with Octopus Deploy

Hinweis der Redaktion

  1. Started out in 2011, now they have over 4,000 customers worldwide.
  2. Go through schedule Lots of exercises and discussions Does everyone have a laptop?
  3. No immediate knowledge of when the last deployment was done or who did it. It's time consuming and error prone, not to mention tedious. Devs don’t want to copy files
  4. The Octopus Deploy Server is where you manage your deployments, projects, environments and machines. It's run as a windows service with an embedded database and an embedded HTTP server running the UI.
  5. An environment is a group of machines you deploy to at the same time, common examples are Test, Acceptance, Staging and Production.
  6. Any server you want to deploy code to must run an Octopus Deploy Tentacle. Tentacles run as windows services, and they execute jobs such as deploying a package or running a script when the Octopus Server tells it to.
  7. A tentacle can run in two modes: Listening or polling. A listening tentacle listens to a TCP port and when the Octopus Server needs to deploy a package it connects to that port. A polling tentacle polls the Octopus Server periodically to check if there are any packages to deploy or scripts to run.   Advantage of listening: Idle most of the time, not taking up any resources, but a port opening and firewall changes are needed.   Advanage of polling: Won't need to open any ports or make any firewall changes, but it uses more resources.
  8. Machines are any machine you want to deploy to, running an Octopus tentacle. It doesn't matter whether it's an Azure VM or a physical server, they're all viewed upon as "machines". A machine belongs to an environment (or several enviroments, if neccessary).
  9. When setting up a deployment step, you can assign the step to a certain role. This means that if you have two machines, one with the role app-server and the other with the role web-server, you can configure your web application to only be deployed to the machine with the role web-server while other applications are only deployed to the app-server.
  10. Projects are the receipe of your deployment. A project is a collection of deployment steps and settings, and together this defines how your application is deployed.
  11. You can setup project groups to group your projects together logically. You can set user permissions and restrict the available environments per project group.
  12. Before deploying your applications, they will have to be bundled into NuGet packages which can then be deployed by Octopus. These packages can be hosted in the built-in Octopus repository or in an external NuGet repository.
  13. Already using Git and TC Go through diagram Last step impossible to specify at this point  
  14. The deployment process is a series of steps that are executed every time you deploy your application. The steps can be scoped to run in one or several environments, they can be configured to run in parallell and you can define whether a step should be executed regardless of the result of previous steps.   This makes it possible to create steps such as:  "If deploying to the production environment and all previous steps in the deployment process have been successful, email the release notes to the product owner."
  15. When you create a deployment step, you can choose between several step types. In addition to this, you can create your own step templates, which we'll look into later.
  16. By default, deployment steps are run in sequence, meaning that one steps finished before the next begins. A -> B -> C   In the newest version of Octopus Deploy, however, it's possible to configure steps to run in parallell.
  17. If you're deploying to several machines at once, you can use child steps to make sure all steps are executed on one machine before deploying to the next (also called rolling deployment)
  18. Explain child steps What type of steps are these?
  19. When you're ready to deploy your code, you create a new release in Octopus Deploy. A release is a snapshot of the current deployment process configuration, variable configuration and the packages chosen for this deployment. A release is typically deployed to one environment and then promoted to the next. This way we're sure there are no differences between the packages or configuration being deployed in the various environments.
  20. There are always configurational differences between environments. For example, the connection string for your application in Test will be different than the connection string used in production. This is often solved by using config transformation in your project, but in certain cases config transformations are not preferred. Either because product owners don't want sensitive information such as connection string checked into the codebase, or because the configurations don't only vary between environments, but also machines.
  21. A variable has a name, a value and a scope. Variables can be set as sensitive, resulting in Octopus encrypting them and never revealing the true value again.
  22. Imagine you have a load balanced web application in production, containing a job that indexes content. There is no need for the indexing job to run on all servers, you actually just want it to run on one of them. As config transformations are scoped to environements, you can use config transforms to enable or disable indexing for ALL the servers, but there's no way of enabling it for some, but not others. In this case, variables in Octopus Deploy come in handy.   This means that we can add an IndexJob variable with the value false, that is scoped to production. You can then add a same instance of the same variable, give it the value true and scope it to the specific machine that needs to run the job.
  23. Imagine you have a load balanced web application in production, containing a job that indexes content. There is no need for the indexing job to run on all servers, you actually just want it to run on one of them. As config transformations are scoped to environements, you can use config transforms to enable or disable indexing for ALL the servers, but there's no way of enabling it for some, but not others. In this case, variables in Octopus Deploy come in handy.   This means that we can add an IndexJob variable with the value false, that is scoped to production. You can then add a same instance of the same variable, give it the value true and scope it to the specific machine that needs to run the job.
  24. Built-in variables. In addition to the variables you create yourself, Octopus Deploy contains lots of system variables you can use in your powershell scripts such as: Machine name, Environment names etc.
  25. Lifecycles are used to set some ground rules as to how your deployment process should be managed. As as example, you wouldn't want a package to be deployed to the production environment before it has been deployed to both test and acceptance, and you can create these rules for your projects by using Lifecycles.
  26. We can configure this by specifying two phases, containing environments: A phase must be successful before the deploy can move on to the next phase.
  27. For the example above we can specify that a release will automatically be deployed to Development when the release is created by setting the "Automatically deploy to" setting for the environment in the phase:
  28. As you create more and more releases, you'll need old releases to clean themselves up. Retention policies define how often releases are deleted, and you can set a retention policy for each phase of a lifecycle or for the project as a whole. The retention policy can be set by the number of releases to keep or the number of days to keep a release.
  29. Step templates are used to create reusable deployment steps. In other words, deployment steps you can use across several projects at the same time.
  30. Script modules are used to create reusable PowerShell cmdlets that you can use across several projects at the same time.
  31. Library variable sets are used to share variables across projects.