Using Continuous Integration in your project is a great way to significantly reduce integration problems, identify and resolve issues quickly, and develop cohesive software more rapidly. In this session, you'll learn how to implement Continuous Integration in your .NET project using a combination of team practices, free or open source tools, and scripts. In particular, we'll discuss various best practices, environment setup, package management (NuGet), source control (Git), automated build tools (NAnt, MSBuild, PowerShell), build servers (Cruise Control .NET), automated testing tools (MSTest, Moq, Selenium, Specflow), and code coverage (Open Cover).
The presentation from my talk on Continuous Integration and Builds at XP Days Indore 2010. The target audience was MCA students, faculty and members of IT industry in and around Indore.
Merge hells - Feature Toggles to the rescueLeena N
Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same.
Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
One developer, one machine, one sacred build process. For the past two years, we have worked to change this story into one that is more reliable, repeatable, and reproducible. I'll show you our process and give plenty of demos of how we safely push code into production multiple times per day.
A DevOps Journey - An experience report after 6 years of implementing DevOps and Continuous Delivery in Frende Forsikring, a small insurance company in Norway.
The goal of this session is to put you on the road toward continuous delivery. It'll consists in a few introductory slides followed by a demo with the Microsoft's continuous delivery solution.
Continuous delivery in practice (public)Tzach Zohar
10 practical field-proven tips for building a continuously delivered service, based on Kenshoo's experience with its RTB service - a critical, high throughput, highly available component, serving millions of requests per minute in under 50 milliseconds.
From coding practices to test automation, from monitoring tools to feature A/B testing - the entire development chain should be focused around removing blockers and manual steps between your code and your clients, without ever settling for quality. Join to see what makes our clients and developers happy and effective.
This are the slides of my Visug (Visual Studio User Group) session about how yo can leverage the power of Git with TFS 2013/Visual Studio online and Visual Studio.
Continuous Integration, the minimum viable productJulian Simpson
What does it mean to 'do' Continuous Integration? It used to be enough to execute your unit tests in CI. But the bar is steadily raising for engineering practices. In the last decade we've seen tremendous improvements inacceptance testing. JavaScript is now a platform in it's own right. Cloudcomputing is now vital. There's growing interest in deployment to prod.So Continuous Integration is under more pressure than ever. As the bar slowly raises for engineering practices, we ll present 2011's minimum viable feature set for Continuous Integration
The presentation from my talk on Continuous Integration and Builds at XP Days Indore 2010. The target audience was MCA students, faculty and members of IT industry in and around Indore.
Merge hells - Feature Toggles to the rescueLeena N
Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same.
Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
One developer, one machine, one sacred build process. For the past two years, we have worked to change this story into one that is more reliable, repeatable, and reproducible. I'll show you our process and give plenty of demos of how we safely push code into production multiple times per day.
A DevOps Journey - An experience report after 6 years of implementing DevOps and Continuous Delivery in Frende Forsikring, a small insurance company in Norway.
The goal of this session is to put you on the road toward continuous delivery. It'll consists in a few introductory slides followed by a demo with the Microsoft's continuous delivery solution.
Continuous delivery in practice (public)Tzach Zohar
10 practical field-proven tips for building a continuously delivered service, based on Kenshoo's experience with its RTB service - a critical, high throughput, highly available component, serving millions of requests per minute in under 50 milliseconds.
From coding practices to test automation, from monitoring tools to feature A/B testing - the entire development chain should be focused around removing blockers and manual steps between your code and your clients, without ever settling for quality. Join to see what makes our clients and developers happy and effective.
This are the slides of my Visug (Visual Studio User Group) session about how yo can leverage the power of Git with TFS 2013/Visual Studio online and Visual Studio.
Continuous Integration, the minimum viable productJulian Simpson
What does it mean to 'do' Continuous Integration? It used to be enough to execute your unit tests in CI. But the bar is steadily raising for engineering practices. In the last decade we've seen tremendous improvements inacceptance testing. JavaScript is now a platform in it's own right. Cloudcomputing is now vital. There's growing interest in deployment to prod.So Continuous Integration is under more pressure than ever. As the bar slowly raises for engineering practices, we ll present 2011's minimum viable feature set for Continuous Integration
I gotta dependency on dependency injectionmhenroid
Satisfy your desire to be a better software developer by learning how to implement Dependency Injection (DI) in your application. Dependency Injection is one of the more popular implementations of Inversion of Control (IoC) that helps to increase modularity and extensibility of software. In this lecture, we'll discuss the benefits of DI, methods for implementing and refactoring existing code to use DI, adding unit tests using MSTest and Moq, popular DI frameworks like Unity, Ninject, and Castle Windsor, as well as alternative IoC patterns and anti-patterns.
Agile .NET Development with BDD and Continuous IntegrationTung Nguyen Thanh
Agile .NET Development with BDD and Continuous Integration
Áp dụng CI là một phần không thể thiếu nếu bạn mong muốn nâng cao năng suất và giảm thiểu lỗi lầm khi phát triển cũng như deploy sản phẩm qua việc sử dụng các practices và tools để tự động hóa các khâu
Bài trình bày của anh Trương Anh Quân tại Meetup của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
A talk delivered at the Oct 1st Sydney AWS Meetup, on how Domain uses CloudFormation, DSC and Octopus Deploy to support our microservices arcitecture with continuous delivery
Improving code quality with continuous integration (PHPBenelux Conference 2011)Martin de Keijzer
Continuous Integration is the combination of any number of the available tools used to improve quality of both code and process. In this session we will look at these available tools and how these can be used. We will also look at Continuous Integration in general and CruiseControl in particular, at how to set it up and built a platform for robust and high-quality code. This session is a must-see for development leaders and technical managers alike, to understand the available options and the advantages offered by this approach.
Docker is an open source project which developed in the Linux world, but that doesn't mean Windows and .NET projects can't make use of it. With the Core CLR you can run .NET inside a container running Linux, and with Windows Server 2016 you'll be able to run Docker containers on Windows.
In this session we'll start by looking at how Docker works, how containers are defined and run, and what's already out there in public repositories for you to use. We'll see where Docker can fit in integration projects - running core components like message queues and caches, and hosting .NET projects too.
We've all seen the big "macro" features in .NET, this presentation is to give praise to the "Little Wonders" of .NET -- those little items in the framework that make life as a developer that much easier!
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
Agile Engineering Best Practices by Richard ChengExcella
By Richard Cheng, Certified Scrum Trainer and Training Business Unit Lead, Excella Consulting
21st Century IT development requires building quality into our development practices yet many software teams fail to implement technical practices that are necessary for long term success. Practices like automated builds, automated tests, automated deployments, continuous integration, and continuous delivery are now considered essential for the success of any software development project. Without these practices, the quality of software goes downhill and teams can no longer sustain their initial high levels of productivity.
However, understanding and implementing the practices can seem daunting. This session presents an easy to understand roadmap for implementing engineering best practices for non-technical audiences.
Though this topic is about engineering best practices, attendees do not have to be technical to get value from this session. The session gives a non-technical look at a technical concept and is great for any person in the organization managing, working with, or working on IT teams/programs.
Continuous integration CloudParty 21 may 2014 - MilanSimone Pasquini
Un sistema di Continuous Integration fra progetti eterogenei
Continuos Integration si riferisce alla pratica di aggiungere nuove feature nel codice e di testarlo non solo in modo isolato ma anche in piena integrazione con gli altri progetti durante il ciclo di sviluppo del software.
Implementare un sistema automatizzato di CI prevede un repository con il codice sorgente utilizzato durante la fase di sviluppo ed uno strumento di CI che continui a fare polling del codice e controllarlo tramite i test in integrazione. Ma non basta quando ci sono progetti eterogenei che collaborano fra di loro, in questo talk vedremo specificatamente questo aspetto.
Continuous Integration is a more modern approach to development. It delivers clear value around managing code changes and has been quickly and widely adopted by teams building custom applications. Learn the core principles of Continuous Integration and how they apply to running end-to-end regression tests for SAP.
What is continuous integration?
Building a feature with continuous integration
Practices of continuous integration
Benefits of continuous integration
Introducing continuous integration
Final thoughts
Continuous integration tools
Dr. Robert Burnett, director of software engineering at L3 Communications Corporation presented "Continuous Integration––An Overview." For more information, please visit us at www.blackducksoftware.com
SkopjeTechMeetup 4 - 2nd presentation: Continuous Delivery for Open Source Java projects
In order to have a quality open source Java project the only thing you need is the knowledge and the will to do it. Everything else is free and available. This presentation is for such a set of free tools that allow you to have continuous integration, inspection and delivery of your open source projects.
Introduction of Continuous Integration (CI)
* Try to answer questions from developers, testers, team leaders, and managers.
* The topology and features of CI.
* How can CI reduce risks?
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
3. 3
• Intro to Continuous Integration
• Environment Setup
• Source Control
• Automated Build
• Build Server
• Automated Testing
• Automated Deployment
Agenda
4. 4
cheapskate
A stingy person. Somebody who buys cheap in favor of
higher quality or better stuff. Even though they might be
able to afford better…
by verseguru August 20, 2004
http://urbandictionary.com
What is a cheapskate?
5. 5
frugal developer
A developer who encourages
• Saving money by favoring free, open source or
inexpensive but high quality tools whenever possible
• Saving time by automating processes as much as
possible
• Saving yourself from disaster by mitigating the
inevitable risk that comes with continuous changes to
software projects.
What is a cheapskate?
6. 6
• Code new features
• Build, Test and Deploy* automatically
• Repeat
* Deploy to test environment, not to production (i.e. continuous delivery)
What is Continuous Integration?
9. 9
• Practices
– Things you and your team should do
• Automation
– Eliminate repetitive boring work
– Reduces human errors
– Reproducible every time
• Tools
– Numerous free / open source tools available
CI = Practices + Automation + Tools
10. 10
• Purpose
– Enable testing in multiple staged environments
• Practices
– Create multiple environments
• Small project – DEV, INTG, PROD
• Medium project – DEV, INTG, QA, PROD
• Large project – DEV, INTG, QA, UAT, PROD
– Keep all environments similar
– Automate server setup
– Support data replication
Environment Setup
11. 11
• Purpose
– Keep track of all source code changes
• Practices
– Store all artifacts required to build project
– Fresh checkout should always be buildable
– Avoid storing unnecessary artifacts
• Use ignore file / feature
– Use package management to store dependencies
– Define branching / merging strategy
– Commit early and often (daily, hourly)
Source Control
13. 13
• Purpose
– Ensure build can be done without human interaction
• Practices
– Automate the entire build process
– Use a build server to build on every commit
– Keep the build fast
– Don’t break the build
– Fix broken builds immediately
Automated Build
PowerShell MSBuild
14. 14
• Purpose
– Watch for changes to source control
– Perform build / test / deployment automatically
• Benefits
– Provide stable, reproducible environment for builds
– Ensure no check-in breaks the build
– Easily determine who broke the build
– Reporting
Build Server
16. 16
• Purpose
– Test your code continuously and automatically
– Test conditions that may be difficult to reproduce
from UI
• Practices
– Unit test – class / method level
– Integration test – test multiple classes together
– Enable tests to execute on build server
– Use Code Coverage to verify test coverage
– All tests should pass
Automated Testing
Senior Consultant / Application Architect at Daugherty Business Solutions
Talk about 2 of my favorite topics…
Lead team of developers for client and use CI as part of our project
Continuous Integration at its simplest…
Writing code, check-in, build, test, deploy and repeat
Integration Problems – caused by multiple developers check-ins, code not working in other environments
Reduce manual mistakes – ???
Rapid feedback – shorten time needed to deploy code to working environment
Testable software – gives developers more confidence in changes and reduces errors
Simple formula for Continuous Integration
Number of environments depends on size and complexity of project
Keep environments similar to make debugging issues easier
If possible, automate server setup so you can spin up new environments easily (cloud)
Supporting replication of data (while not always possible) makes it easier to reproduce bugs from production