Ordina Accelerator program 2019 - Jenkins blue ocean pipelinesBert Koorengevel
This document provides an overview of CI/CD with Jenkins. It defines continuous integration and continuous delivery, discusses the history and benefits of Jenkins, and covers Jenkins pipeline plugins. It also demonstrates how to build a basic pipeline in Jenkins and extend it by integrating Sonar code quality analysis prior to deployment.
This document provides an overview of the Apache Maven build tool for Java projects. It discusses key Maven concepts like the project object model (pom.xml), build lifecycle phases, packaging types, and artifacts. The document demonstrates a sample Maven project workflow from initialization to compilation and testing. Key benefits of Maven like its uniform build system and conventions for best practices are also highlighted.
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
This document introduces a very effective practice of software development method called Continuous Integration.
CTO/Manager of IT company (outsource/startup company) should have a look.
The document discusses continuous delivery practices including defining goals and features through examples and stories, automating acceptance criteria tests, and implementing application code to pass those tests. It emphasizes that quality must be built into the process through techniques like test automation to enable continuous delivery of value to the business. Automating acceptance criteria keeps projects on track, provides better visibility, allows faster release cycles, and reduces risk and costs.
A very big thank you to Michael Palotas from Grid Fusion & eBay International for taking the time and effort to travel across the globe to present at the Australian Test Managers Forum 2014. If you would like any information on TMF please email tmf@kjross.com.au
This document provides an overview of the history of computing and software development. It discusses early calculating devices from ancient times through the 20th century. Key events and individuals covered include Ada Lovelace, Alan Turing, the development of programming languages like Java and JavaScript, early software development methodologies like waterfall and agile. The document concludes with an overview of the Agile Manifesto created in 2001 to value individuals, working software, customer collaboration and responding to change.
Ordina Accelerator program 2019 - Jenkins blue ocean pipelinesBert Koorengevel
This document provides an overview of CI/CD with Jenkins. It defines continuous integration and continuous delivery, discusses the history and benefits of Jenkins, and covers Jenkins pipeline plugins. It also demonstrates how to build a basic pipeline in Jenkins and extend it by integrating Sonar code quality analysis prior to deployment.
This document provides an overview of the Apache Maven build tool for Java projects. It discusses key Maven concepts like the project object model (pom.xml), build lifecycle phases, packaging types, and artifacts. The document demonstrates a sample Maven project workflow from initialization to compilation and testing. Key benefits of Maven like its uniform build system and conventions for best practices are also highlighted.
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
This document introduces a very effective practice of software development method called Continuous Integration.
CTO/Manager of IT company (outsource/startup company) should have a look.
The document discusses continuous delivery practices including defining goals and features through examples and stories, automating acceptance criteria tests, and implementing application code to pass those tests. It emphasizes that quality must be built into the process through techniques like test automation to enable continuous delivery of value to the business. Automating acceptance criteria keeps projects on track, provides better visibility, allows faster release cycles, and reduces risk and costs.
A very big thank you to Michael Palotas from Grid Fusion & eBay International for taking the time and effort to travel across the globe to present at the Australian Test Managers Forum 2014. If you would like any information on TMF please email tmf@kjross.com.au
This document provides an overview of the history of computing and software development. It discusses early calculating devices from ancient times through the 20th century. Key events and individuals covered include Ada Lovelace, Alan Turing, the development of programming languages like Java and JavaScript, early software development methodologies like waterfall and agile. The document concludes with an overview of the Agile Manifesto created in 2001 to value individuals, working software, customer collaboration and responding to change.
This document discusses moving from continuous integration (CI) to continuous delivery and deployment (CD&D). It recommends standardizing the build, test, and deployment process through CI to ensure solid, reproducible steps. Continuous deployment takes CI a step further by automatically deploying code changes. The document provides an overview of tools and processes for implementing continuous integration, delivery, and deployment both externally using cloud providers and in-house using software, quality, and delivery/deployment factories. It emphasizes the benefits of native packaging for continuous deployment.
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
Chef InSpec can be used to test for system security and compliance by creating profiles of InSpec tests. Profiles allow complex compliance requirements to be tested across different teams and environments. The document demonstrates running the open source linux-baseline profile against a CentOS system using InSpec, remediating any failures using the corresponding Chef cookbook, and then wrapping the linux-baseline profile in a custom profile to skip a specific test.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
New York Kubernetes: CI/CD Patterns for KubernetesAndrew Phillips
This document discusses CI/CD patterns for Kubernetes. It begins with an agenda and speaker bios. It then discusses the challenges of CI/CD for Kubernetes, including that it is a new space with unclear standard practices. It introduces concepts like environment and application repositories, manifests, and applied manifest sets. It also debunks some myths. The main part describes four related CI/CD processes: application code/config updates, environment config updates, environment restore, and detecting environment config drift. It uses diagrams to illustrate how a tool could implement these patterns.
Using Chef InSpec for Infrastructure SecurityMandi Walls
This document provides an overview of Chef InSpec and how it can be used for infrastructure security assurance. Chef InSpec allows users to create tests for security and compliance related to infrastructure and then run those tests on systems locally or remotely. The document demonstrates how to use Chef InSpec to check for compliance with a security baseline, remediate any issues found using Chef infrastructure automation, and then re-check compliance.
Implementing Continuous Delivery with Enterprise MiddlewareXebiaLabs
This document discusses implementing continuous delivery with enterprise middleware. It begins with introductions of the speakers and an overview of ThoughtWorks Studios and XebiaLabs. It then provides definitions and explanations of continuous delivery. The remainder of the document discusses approaches to continuous delivery in the enterprise including dealing with complex dependency trees, diverse deployment landscapes, and integration with release management. It provides an example continuous delivery pipeline for a Java EE application and how it can be optimized for an enterprise approach.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
This document discusses securing Apache web servers with Mod Security and the Center for Internet Security (CIS) benchmark. It provides an overview of Mod Security features for web application firewall protection and filtering. It also covers recommendations for securing the Apache configuration such as disabling unnecessary modules, access controls, limiting HTTP methods, and logging/monitoring.
This document discusses DevOps and SecOps practices for continuous delivery. It describes how DevOps aims to reduce the time between committing code changes and releasing to production while ensuring high quality. SecOps integrates security into the deployment pipeline so developers and operations teams collaborate on security. The document also provides a case study on factors to consider for designing a continuous delivery architecture for a CRM system. These include requirements documentation, architecture readiness for continuous delivery, infrastructure readiness, building a pipeline, and integrating quality assurance such as testing, security, and configuration checks into the pipeline.
Morgan Roman presented on how to standardize the use of secure patterns in frameworks to prevent common vulnerabilities. The approach is to first identify unsafe patterns, make the safe pattern the default, train developers, and use tools to enforce the safe pattern. Examples given were preventing regex denial of service by wrapping regex in a timeout class, preventing XML external entity injection in Java by making a safe XML parser factory the default, and preventing open redirects by using a safe redirect method. The goal is to make security the easiest option for developers.
This document discusses continuous integration and Jenkins. It begins with explaining the fundamentals of continuous integration, including that it involves automatically compiling and testing code changes. It then provides a brief history of Jenkins, originally called Hudson. Next, it outlines 9 benefits of continuous integration such as increasing code coverage and deploying code more reliably. The document concludes with information about getting started with Jenkins.
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
Test automation is all about running the most tests in the least amount of time. This is great for mature apps, but in the early stages of developing your web or mobile app, developers need to run a number of tests to ensure the app runs at all. Further complicating the issue is that often, your app is architect-ed differently for web and mobile which makes writing automated tests tricky.
Test Automation Specialist Max Saperstone from Coveros will cover some simple testing examples and demonstrate how to expand these for testing over multiple web architectures. He will briefly cover the difference in the design of these sites with a focus on how tests can be designed to overcome their limitations, minimizing duplicate code, and following best practices.
The document discusses best practices for continuous integration, continuous delivery, and automation in software development. It recommends automating the entire development cycle from build to test to deployment. Changes should be deployed frequently, such as multiple times a day, to catch errors early. All code, configurations, and dependencies should be stored in version control. A deployment pipeline approach is advocated with separate stages for testing, verification, and release to different environments. Rollback and recovery should be planned and tested.
Devops is an approach that aims to increase an organization's ability to deliver applications and services at high velocity by combining cultural philosophies, practices, and tools that align development and operations teams. Under a DevOps model, development and operations teams work closely together across the entire application lifecycle from development through deployment to operations. They use automation, monitoring, and collaboration tools to accelerate delivery while improving quality and security. Popular DevOps tools include Git, Jenkins, Puppet, Chef, Ansible, Docker, and Nagios.
Tomas Riha presented on the principles and benefits of continuous delivery. Continuous delivery aims to have applications always ready for release through a highly automated process of continuous integration, testing, and deployment. It emphasizes automating all parts of the release process, building quality in from the start, and having all team members share responsibility for releases. Frequent releases allow for faster feedback and reduce risks from large code changes. Continuous delivery helps enable test-driven development and improves the ability to verify features continuously.
Better Security Testing: Using the Cloud and Continuous DeliveryGene Gotimer
Even though many organizations claim that security is a priority, that claim doesn’t always translate into supporting security initiatives in software development or test. Security code reviews often are overlooked or avoided, and when development schedules fall behind, security testing may be dropped to help the team “catch up.” Everyone wants more secure development; they just don’t want to spend time or money to get it. Gene Gotimer describes his experiences with implementing a continuous delivery process in the cloud and how he integrated security testing into that process. Gene discusses how to take advantage of the automated provisioning and automated deploys already being implemented to give more opportunities along the way for security testing without schedule disruption. Learn how you can incrementally mature a practice to build security into the process—without a large-scale, time-consuming, or costly effort.
This talk will explain the secret of the success of the Eclipse Platform team. The Eclipse Way is an agile software development process that we started right at the beginning when we started to develop Eclipse back in 1999. It was and is used by the Eclipse Platform team and got continuously improved over time. During the session you will hear about all our practices, like milestones, early and iterative planning, continuous integration and the endgame. I will also reveal some of the history behind the Eclipse top-level project.
More details: https://confengine.com/eclipse-summit-2016/proposal/2386/the-eclipse-way
This document discusses automated visual regression testing. It describes what visual regression testing is, when it should be used, and available libraries for implementing it like BackstopJS. The document then shares a case study of how BackstopJS was used to test a website rebuild project. It provides details on setting up and using BackstopJS, best practices, and limitations to consider when using automated visual regression testing.
This technical seminar covers DevOps tools including Git, GitHub, Jenkins, Docker, and Selenium. Git was created in 2005 as a distributed version control system and was inspired by earlier tools. GitHub hosts software projects using Git and allows for free and paid user accounts. Jenkins helps with continuous integration and deployment by automating building, testing, and deploying. Docker uses OS-level virtualization for packaging and delivering software applications. Selenium is an open source tool for automating web browser testing. The seminar concludes that DevOps skills will remain in high demand as organizations seek to accelerate development and deployment.
The document discusses strategies for continuous delivery through parallel development and continuous integration, including maintaining feature branches, release branches, and a main development branch. It also outlines the general development workflow and processes for building, deploying, acceptance testing, releasing, and pushing updates to production through automated deployment. The goal is to enable one-click software updates and releases at any time through establishing testing, integration, and deployment best practices.
How to Build and Maintain Quality Drupal Sites with Automated TestingAcquia
Automated testing has greatly improved the Drupal core development process. With automated testing over 24,500 unique core patches have been reviewed, and almost 19,000 test assertions are now run against every core patch. The result has been faster development cycle, more stable releases, and the ability to add features more quickly to Drupal core.
The document provides an overview of Azure DevOps and why JavaScript developers should use it. It discusses features like source control, boards for tracking work items, pipelines for continuous integration and delivery, and testing. It also includes a demo of setting up a sample Create React App project in Azure DevOps, including configuring a pipeline to build and deploy the app to an Azure App Service. Resources for learning more about Azure DevOps, using it with JavaScript projects, and understanding Git are also provided.
This document discusses moving from continuous integration (CI) to continuous delivery and deployment (CD&D). It recommends standardizing the build, test, and deployment process through CI to ensure solid, reproducible steps. Continuous deployment takes CI a step further by automatically deploying code changes. The document provides an overview of tools and processes for implementing continuous integration, delivery, and deployment both externally using cloud providers and in-house using software, quality, and delivery/deployment factories. It emphasizes the benefits of native packaging for continuous deployment.
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
Chef InSpec can be used to test for system security and compliance by creating profiles of InSpec tests. Profiles allow complex compliance requirements to be tested across different teams and environments. The document demonstrates running the open source linux-baseline profile against a CentOS system using InSpec, remediating any failures using the corresponding Chef cookbook, and then wrapping the linux-baseline profile in a custom profile to skip a specific test.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
New York Kubernetes: CI/CD Patterns for KubernetesAndrew Phillips
This document discusses CI/CD patterns for Kubernetes. It begins with an agenda and speaker bios. It then discusses the challenges of CI/CD for Kubernetes, including that it is a new space with unclear standard practices. It introduces concepts like environment and application repositories, manifests, and applied manifest sets. It also debunks some myths. The main part describes four related CI/CD processes: application code/config updates, environment config updates, environment restore, and detecting environment config drift. It uses diagrams to illustrate how a tool could implement these patterns.
Using Chef InSpec for Infrastructure SecurityMandi Walls
This document provides an overview of Chef InSpec and how it can be used for infrastructure security assurance. Chef InSpec allows users to create tests for security and compliance related to infrastructure and then run those tests on systems locally or remotely. The document demonstrates how to use Chef InSpec to check for compliance with a security baseline, remediate any issues found using Chef infrastructure automation, and then re-check compliance.
Implementing Continuous Delivery with Enterprise MiddlewareXebiaLabs
This document discusses implementing continuous delivery with enterprise middleware. It begins with introductions of the speakers and an overview of ThoughtWorks Studios and XebiaLabs. It then provides definitions and explanations of continuous delivery. The remainder of the document discusses approaches to continuous delivery in the enterprise including dealing with complex dependency trees, diverse deployment landscapes, and integration with release management. It provides an example continuous delivery pipeline for a Java EE application and how it can be optimized for an enterprise approach.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
This document discusses securing Apache web servers with Mod Security and the Center for Internet Security (CIS) benchmark. It provides an overview of Mod Security features for web application firewall protection and filtering. It also covers recommendations for securing the Apache configuration such as disabling unnecessary modules, access controls, limiting HTTP methods, and logging/monitoring.
This document discusses DevOps and SecOps practices for continuous delivery. It describes how DevOps aims to reduce the time between committing code changes and releasing to production while ensuring high quality. SecOps integrates security into the deployment pipeline so developers and operations teams collaborate on security. The document also provides a case study on factors to consider for designing a continuous delivery architecture for a CRM system. These include requirements documentation, architecture readiness for continuous delivery, infrastructure readiness, building a pipeline, and integrating quality assurance such as testing, security, and configuration checks into the pipeline.
Morgan Roman presented on how to standardize the use of secure patterns in frameworks to prevent common vulnerabilities. The approach is to first identify unsafe patterns, make the safe pattern the default, train developers, and use tools to enforce the safe pattern. Examples given were preventing regex denial of service by wrapping regex in a timeout class, preventing XML external entity injection in Java by making a safe XML parser factory the default, and preventing open redirects by using a safe redirect method. The goal is to make security the easiest option for developers.
This document discusses continuous integration and Jenkins. It begins with explaining the fundamentals of continuous integration, including that it involves automatically compiling and testing code changes. It then provides a brief history of Jenkins, originally called Hudson. Next, it outlines 9 benefits of continuous integration such as increasing code coverage and deploying code more reliably. The document concludes with information about getting started with Jenkins.
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
Test automation is all about running the most tests in the least amount of time. This is great for mature apps, but in the early stages of developing your web or mobile app, developers need to run a number of tests to ensure the app runs at all. Further complicating the issue is that often, your app is architect-ed differently for web and mobile which makes writing automated tests tricky.
Test Automation Specialist Max Saperstone from Coveros will cover some simple testing examples and demonstrate how to expand these for testing over multiple web architectures. He will briefly cover the difference in the design of these sites with a focus on how tests can be designed to overcome their limitations, minimizing duplicate code, and following best practices.
The document discusses best practices for continuous integration, continuous delivery, and automation in software development. It recommends automating the entire development cycle from build to test to deployment. Changes should be deployed frequently, such as multiple times a day, to catch errors early. All code, configurations, and dependencies should be stored in version control. A deployment pipeline approach is advocated with separate stages for testing, verification, and release to different environments. Rollback and recovery should be planned and tested.
Devops is an approach that aims to increase an organization's ability to deliver applications and services at high velocity by combining cultural philosophies, practices, and tools that align development and operations teams. Under a DevOps model, development and operations teams work closely together across the entire application lifecycle from development through deployment to operations. They use automation, monitoring, and collaboration tools to accelerate delivery while improving quality and security. Popular DevOps tools include Git, Jenkins, Puppet, Chef, Ansible, Docker, and Nagios.
Tomas Riha presented on the principles and benefits of continuous delivery. Continuous delivery aims to have applications always ready for release through a highly automated process of continuous integration, testing, and deployment. It emphasizes automating all parts of the release process, building quality in from the start, and having all team members share responsibility for releases. Frequent releases allow for faster feedback and reduce risks from large code changes. Continuous delivery helps enable test-driven development and improves the ability to verify features continuously.
Better Security Testing: Using the Cloud and Continuous DeliveryGene Gotimer
Even though many organizations claim that security is a priority, that claim doesn’t always translate into supporting security initiatives in software development or test. Security code reviews often are overlooked or avoided, and when development schedules fall behind, security testing may be dropped to help the team “catch up.” Everyone wants more secure development; they just don’t want to spend time or money to get it. Gene Gotimer describes his experiences with implementing a continuous delivery process in the cloud and how he integrated security testing into that process. Gene discusses how to take advantage of the automated provisioning and automated deploys already being implemented to give more opportunities along the way for security testing without schedule disruption. Learn how you can incrementally mature a practice to build security into the process—without a large-scale, time-consuming, or costly effort.
This talk will explain the secret of the success of the Eclipse Platform team. The Eclipse Way is an agile software development process that we started right at the beginning when we started to develop Eclipse back in 1999. It was and is used by the Eclipse Platform team and got continuously improved over time. During the session you will hear about all our practices, like milestones, early and iterative planning, continuous integration and the endgame. I will also reveal some of the history behind the Eclipse top-level project.
More details: https://confengine.com/eclipse-summit-2016/proposal/2386/the-eclipse-way
This document discusses automated visual regression testing. It describes what visual regression testing is, when it should be used, and available libraries for implementing it like BackstopJS. The document then shares a case study of how BackstopJS was used to test a website rebuild project. It provides details on setting up and using BackstopJS, best practices, and limitations to consider when using automated visual regression testing.
This technical seminar covers DevOps tools including Git, GitHub, Jenkins, Docker, and Selenium. Git was created in 2005 as a distributed version control system and was inspired by earlier tools. GitHub hosts software projects using Git and allows for free and paid user accounts. Jenkins helps with continuous integration and deployment by automating building, testing, and deploying. Docker uses OS-level virtualization for packaging and delivering software applications. Selenium is an open source tool for automating web browser testing. The seminar concludes that DevOps skills will remain in high demand as organizations seek to accelerate development and deployment.
The document discusses strategies for continuous delivery through parallel development and continuous integration, including maintaining feature branches, release branches, and a main development branch. It also outlines the general development workflow and processes for building, deploying, acceptance testing, releasing, and pushing updates to production through automated deployment. The goal is to enable one-click software updates and releases at any time through establishing testing, integration, and deployment best practices.
How to Build and Maintain Quality Drupal Sites with Automated TestingAcquia
Automated testing has greatly improved the Drupal core development process. With automated testing over 24,500 unique core patches have been reviewed, and almost 19,000 test assertions are now run against every core patch. The result has been faster development cycle, more stable releases, and the ability to add features more quickly to Drupal core.
The document provides an overview of Azure DevOps and why JavaScript developers should use it. It discusses features like source control, boards for tracking work items, pipelines for continuous integration and delivery, and testing. It also includes a demo of setting up a sample Create React App project in Azure DevOps, including configuring a pipeline to build and deploy the app to an Azure App Service. Resources for learning more about Azure DevOps, using it with JavaScript projects, and understanding Git are also provided.
Increase the Velocity of Your Software Releases Using GitHub and DeployHubDevOps.com
Increase the velocity of your software releases by using continuous deployment driven by continuous delivery pipeline. After all, the goal of agile is to get code updates into the hands of your users fast and on a high frequency basis. This means installing all the way to production, not just staged for productio.
This webinar will show you an approach to achieving full continuous deployment using GitHub and DeployHub. You will learn how to declare your Application Package from your GitHub repository, manage approvals and deliver updates to environments across the CD pipeline from development through production.
GitHub and DeployHub work together to provide a complete DevOps process that results in a repeatable, consistent software releases process with a full continuous feedback loop.
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
The document discusses open source tools that can be used in a continuous integration environment. It provides an overview of build tools like Ant and Maven, continuous integration servers, and how tools like Hudson and Archiva can help manage builds, artifacts, and the development process in an agile workflow.
2016 quali continuous testing quest for quality conferenceQualiQuali
This document discusses continuous testing in DevOps. It defines DevOps and DevTestOps, and explains that continuous testing is the last mile of DevOps. Sandboxes are proposed as a way to automate testing environments for DevOps by creating production-like environments for development and testing. The document outlines how sandboxes can model infrastructure, applications, data, and services to enable consistent and automated testing throughout the development lifecycle.
You've heard about Continuous Integration and Continuous Deilvery but how do you get code from your machine to production in a rapid, repeatable manner? Let a build pipeline do the work for you! Sam Brown will walk through the how, the when and the why of the various aspects of a Contiuous Delivery build pipeline and how you can get started tomorrow implementing changes to realize build automation. This talk will start with an example pipeline and go into depth with each section detailing the pros and cons of different steps and why you should include them in your build process.
During the specification phase of testing, required tests and starting points are specified to prepare for quickly executing tests when developers deliver the test object. The execution phase then obtains insight into quality through agreed upon tests. Different types of testing include acceptance, unit, functional, exploratory, and performance/load testing which validate both business needs and implementation and help both the product and team.
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Eric Shupps
So you've built a custom connector for Power Platform, now what? It's time to take it to the next level and commercialize your solution. But to get there, you need proper infrastructure, monitoring, security, operations management, and - most importantly - you have to get your connector published. Learn how to make all the pieces fit together using Azure API Management, Function Apps, Application Insights, Front Door, DevOps, and more. Plus, take a guided tour through the ins and outs of the publishing process and how to avoid common mistakes that can lead to failed submissions. Everything you need to know in order to take your Power Platform solutions from concept to reality.
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anything to Anywhere with Azure DevOps
Janusz Nowak
@jnowwwak
https://www.linkedin.com/in/janono
https://github.com/janusznowak
https://blog.janono.pl
This document discusses basics of branching, tagging and packaging for product release management with SVN. It covers why SVN is used, environmental considerations, branching strategies including the unstable trunk strategy, tagging, versioning, packaging, and merging in Subversion. Branching allows independent lines of development while maintaining a shared history. Tagging creates snapshots for versions. Packaging gathers artifacts like source code and database scripts into repeatable releases. Merging integrates changes between branches.
The document summarizes a presentation on software testing concepts and practices like test-driven development, terminology used in testing, popular tools used for testing, and resources for learning more about testing. The presentation covered topics like unit testing, integration testing, test-driven development principles and practices, popular IDEs, build tools, testing frameworks, mock object libraries, code coverage tools, load testing tools, acceptance testing tools, and continuous integration tools. It also demonstrated testing using an open-source medical record system.
The document summarizes a presentation on software testing concepts and practices like test-driven development, terminology used in testing, popular tools used for testing, and resources for learning more about testing. The presentation covered topics like unit testing, integration testing, test-driven development principles and practices, popular IDEs, build tools, testing frameworks, mock object libraries, code coverage tools, load testing tools, acceptance testing tools, and continuous integration tools. It also demonstrated testing using an open-source medical record system.
This document provides an overview of source control and version control using Git and GitHub. It discusses setting up projects using Maven and developing projects locally before pushing changes to repositories on GitHub. Specifically, it covers initializing and committing code to a Git repository, forking and cloning existing projects on GitHub, and using pull requests to share code changes between remote repositories.
This document provides an overview of source control and version control using Git and GitHub. It discusses setting up projects with Maven and developing projects locally before pushing changes to GitHub repositories. The key points covered include: setting up source control with Git, forking and cloning repositories on GitHub, making changes locally and pushing updates via pull requests. Maven is also introduced for building Java projects and managing dependencies in an automated way.
Part 2 improving your software development v1.0Jasmine Conseil
The document discusses improving software development processes through continuous integration using agile tools. It describes how build tools can automate various parts of the software development process, including compiling, testing, packaging, and deploying code. Maven is presented as a common build tool that supports a well-defined development lifecycle. Continuous integration principles are explained, emphasizing how integrating code changes frequently and running automated builds can reduce integration issues. Hudson is introduced as an open-source continuous integration server that supports automation and provides feedback. The JasForge project aims to manage agile tools like Hudson in an integrated platform to control the software development process.
Jenkins is an open-source tool for continuous integration that allows developers to integrate code changes frequently from a main branch using an automated build process. It detects errors early, measures code quality, and improves delivery speed. Jenkins supports various source control, build tools, and plugins to customize notifications and reporting. Security features allow restricting access and privileges based on user roles and projects.
The presentation on Expanding test horizons with Robot Framework was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Kushan Amarasiri
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Evgeniy Kuzmin
What will be discussed:
- Building the process of continuous integration/delivery on the example of a Laravel application;
- The structure of the auto-testing organization;
- Integration of running tests and deploy on Jenkins CI server;
- Employment of Docker in conjunction with AWS ElasticBeanstalk for blue-green deployment.
Similar to Operations Support Workflow - Rundeck (20)
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Mobile app Development Services | Drona InfotechDrona Infotech
Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
5. Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
CI/CD WORKFLOW
6. Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
7. Release uses cases
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
8. Release uses cases
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
MANUAL STEPS =
SLOW RELEASE CYCLE, MORE SUPPORT
9. From a collaboration stand point, If you spend most of your day raising tickets
or waiting on tickets to be completed
YOU ARE DOING IT WRONG!
We wanted to promote Development, QA and Operations tasks that where
Automated
Or when automation is not possible/desired
Self Service
10. From a collaboration stand point, If you spend most of your day raising tickets
or waiting on tickets to be completed
YOU ARE DOING IT WRONG!
We wanted to promote Development, QA and Operations tasks that where
Automated
or failing that
Self Service
WAIT. DOESN’T SELF SERVICE
INTRODUCE RISK?
11. 1. Understand what's being self-serviced
Making self-service safe
4. Just because you've implemented self-service
doesn't mean you've reduced cost
3. Put in checks that balance processes and procedures
2. Make education part of your plan
12. 1. Understand what's being self-serviced
Making self-service safe
4. Just because you've implemented self-service doesn't
mean you've reduced cost
3. Put in restrictions that balance processes and procedures
2. Make education part of your plan
WHERE WOULD WE GET THE BEST
VALUE?
24. Release uses cases Before
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
25. Release uses cases After
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project update
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
26. Release uses cases After
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project update
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
REDUCTION OF QUEUE SUPPORT TIME
FROM 60% FTE TO 20%
27. Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
We wanted to make self-service safe
- Making everybody admin is a common pitfall of Devops/Self service
- There's a lot of risk in implementing self-service services.
- So what can be done to mitigate the risks to acceptable limits? Here are some recommendations:
1. Understand what's being self-serviced:
- Just because something can be self-serviced doesn't mean it should be.
- We need to consider what happens to their processes and procedures when the end user becomes the owner of the process.
2. Make education part of your plan:
- People make mistakes, and just because you understand the value of complete, accurate and timely information doesn't mean your users do.
3. Put in checks that balance processes and procedures:
- You can't always ensure that an access request or self-service data stewardship is being handled correctly. Self-service doesn't equal self-management.
- While the operational aspects may be delegated to end users, management of these systems must still be maintained. Eg Notifications
4. Just because you've implemented self-service doesn't mean you've reduced cost:
- In many cases self-service doesn't mean costs will go down in the short term.
- With the overhead of managing and monitoring these services, costs may actually go up in the short-run.
- If you choose and design wisely. It should reduce future spending.
How de we determine this?
Deviating from standard means that any automation of self service tooling is at risk of being out of date.
Covers:
- Build configurations
- Deployment scripts
- Source code branching policy
If Build/IT/DBA Engineers are doing the same repeatable tasks.
- Opportunity for automation or self service
- The best engineers are often the ones who embrace the most tiresome, least glamorous, and most "never-completed" of tasks.
Various monitoring and event notifiers like Splunk or Zabbix can tell us common failure points or common manual tasks
So we know our
- Pipeline
- Manual tasks
- We have a guideline of how to make self-service a realistic function
- How or where are we going to run these tasks
Rundeck is an
- open source automation service with a web console
- It provides command line tools and a WebAPI
- It lets you easily run automation tasks across a set of nodes- Give remote admin connectivity through ssh and winrm
distributed ownership and accountability (requires trust, communication, and continuous improvement)