Covering topics like:
CI CD DevOps Jenkins TFS TeamCity Compile Test Package Delpoy
See Disclaimer in the last slide and/or in file comments, if available.
Mainframe DevOps: A Zowe CLI-enabled RoadmapDevOps.com
The Zowe open source framework, hosted by the Linux Foundation's Open Mainframe Project, is often referred to as a Swiss Army knife for mainframe modernization, but where to begin? This session, which is based on findings from numerous Design Thinking workshops, will help DevOps champions and mainframe leaders jumpstart their modernization journeys.
We’ll explore a few high-value use cases like plugging into enterprise CI/CD pipelines and incorporating off-platform tools like code quality. And by addressing practical considerations like Zowe installation, set-up and support, this session will equip attendees with the information they need to become mainframe DevOps mobilizers.
Dev ops tutorial for beginners what is devops & devops toolsJanBask Training
DevOps Tools Are Used To Offer Improved Performance. You can explore more about above-listed DevOps tools (Puppet, Chef, Sensu, Nagios, Bamboo, Eclipse, Git, Saltstack, Jenkins ) that are used to provide improved performance by DevOps team. DevOps tools are used to improve the developer's efficiency.
Introducing CI/CD to Engineering Teams - By: Matt BrunsdonMatt Brunsdon
This is my talk from March 2020 on my experiences when introducing continuous integration and continuous deployment (CI/CD) DevOps practices to engineering teams. The talk discusses a conceptual phased approach to slowly introducing these practices whilst giving the option to continue business as usual.
Mainframe DevOps: A Zowe CLI-enabled RoadmapDevOps.com
The Zowe open source framework, hosted by the Linux Foundation's Open Mainframe Project, is often referred to as a Swiss Army knife for mainframe modernization, but where to begin? This session, which is based on findings from numerous Design Thinking workshops, will help DevOps champions and mainframe leaders jumpstart their modernization journeys.
We’ll explore a few high-value use cases like plugging into enterprise CI/CD pipelines and incorporating off-platform tools like code quality. And by addressing practical considerations like Zowe installation, set-up and support, this session will equip attendees with the information they need to become mainframe DevOps mobilizers.
Dev ops tutorial for beginners what is devops & devops toolsJanBask Training
DevOps Tools Are Used To Offer Improved Performance. You can explore more about above-listed DevOps tools (Puppet, Chef, Sensu, Nagios, Bamboo, Eclipse, Git, Saltstack, Jenkins ) that are used to provide improved performance by DevOps team. DevOps tools are used to improve the developer's efficiency.
Introducing CI/CD to Engineering Teams - By: Matt BrunsdonMatt Brunsdon
This is my talk from March 2020 on my experiences when introducing continuous integration and continuous deployment (CI/CD) DevOps practices to engineering teams. The talk discusses a conceptual phased approach to slowly introducing these practices whilst giving the option to continue business as usual.
Agile Testing: A pragmatic overview and new entry in Intelliware’s Agile Methodology Series.
What you’ll learn in this presentation:
Intelliware’s Chief Technologist, BC Holmes, provides a pragmatic overview of Agile testing. Complete with many examples, this presentation is ideal for those looking for a practical take on software testing in an Agile environment.
The presentation covers:
- Why do we use Agile testing?
- What Agile testing isn’t
- What Agile testing is: unit testing and test-driven development (TDD)
- High-level properties of good tests
- Testing in different languages
- Test suites and code coverage
- Using mock objects to help isolate units
- Beyond unit testing
Neal Ford Emergent Design And Evolutionary ArchitectureThoughtworks
ThoughtWorks Luminary and Conference Presenter Extraordinaire Neal Ford will be presenting:
Emergent Design & Evolutionary Architecture
Most of the software world has realised that Big Design Up Front (BDUF) doesn’t work well in software. But lots of developers struggle with this notion when it applies to architecture and design, surely you can’t start coding, right? You need some level of understanding before you can start work.
This seminar will explore the current thinking about Emergent Design and Evolutionary Architecture, including:
• Proactive approaches with test driven development
• Reactive approaches including both refactoring and composed methods
• Strategies and techniques for allowing design to emerge from projects as they proceed, keeping your code in sync with the problem domain
• Real world examples of these techniques in action
Neal Ford, Software Architect and Meme Wrangler, ThoughtWorks
Neal is an acclaimed international speaker and expert on designing and building of large-scale enterprise applications. Neal has spoken at over 100 conferences worldwide, delivering more than 600 talks. Neal is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations and author and/or editor of 6 books spanning a variety of technologies, including the most recent The Productive Programmer.
Understand the concept of DevOps by employing DevOps Strategy Roadmap Lifecycle PowerPoint Presentation Slides Complete Deck. Describe how DevOps is different from traditional IT with these content-ready PPT themes. The slides also help to discuss DevOps use cases in the business, roadmap, and its lifecycle. Explain the roles, responsibilities, and skills of DevOps engineers by utilizing this visually appealing slide deck. Demonstrate DevOp roadmap for implementation in the organization with the help of a thoroughly researched PPT slideshow. Describe the characteristics of cloud computing, its benefits, and risks with the aid of this PPT layout. Utilize this easy-to-use DevOps transformation strategy PowerPoint slide deck to showcase the difference between cloud and traditional data centers. This ready-to-use PowerPoint layout also discusses the roadmap to integrate cloud computing in business. Highlight the usages of cloud computing and deployment models with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. https://bit.ly/3eFxYYr
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentIBM UrbanCode Products
Slides from an Urbancode and Accurev joint webinar: http://www.accurev.com/webinar/20120119-Scaling-CI-Parallel-Development
Continuous integration is simple with a single development team. But when software projects grow to multiple teams and dependencies, continuous integration loses effectiveness due to parallel projects, varying release schedules, and differing cadences between teams. As a result, many teams unknowingly lose the benefits of continuous integration, and therefore suffer from a lack of feedback and poor quality.
In this webinar, UrbanCode’s Eric Minick and AccuRev’s Chris Lucca will explain how to:
- Scale continuous integration builds across multiple development teams working on parallel projects
- Share only code that has passed continuous integration from other teams to avoid broken builds and confusion
- Automate the configuration of your test environment to handle fluid projects done in parallel
My presentation at Arvato Systems about TDD. This presentation is based on my own knowledge and experience. I go through two full TDD cycles programmed in Eclipse presenting the written code in the presentation.
DevOps is a software development method which is all about working together between Developers and IT Professionals. This presentation gives you an introduction to DevOps.
Agile Testing: A pragmatic overview and new entry in Intelliware’s Agile Methodology Series.
What you’ll learn in this presentation:
Intelliware’s Chief Technologist, BC Holmes, provides a pragmatic overview of Agile testing. Complete with many examples, this presentation is ideal for those looking for a practical take on software testing in an Agile environment.
The presentation covers:
- Why do we use Agile testing?
- What Agile testing isn’t
- What Agile testing is: unit testing and test-driven development (TDD)
- High-level properties of good tests
- Testing in different languages
- Test suites and code coverage
- Using mock objects to help isolate units
- Beyond unit testing
Neal Ford Emergent Design And Evolutionary ArchitectureThoughtworks
ThoughtWorks Luminary and Conference Presenter Extraordinaire Neal Ford will be presenting:
Emergent Design & Evolutionary Architecture
Most of the software world has realised that Big Design Up Front (BDUF) doesn’t work well in software. But lots of developers struggle with this notion when it applies to architecture and design, surely you can’t start coding, right? You need some level of understanding before you can start work.
This seminar will explore the current thinking about Emergent Design and Evolutionary Architecture, including:
• Proactive approaches with test driven development
• Reactive approaches including both refactoring and composed methods
• Strategies and techniques for allowing design to emerge from projects as they proceed, keeping your code in sync with the problem domain
• Real world examples of these techniques in action
Neal Ford, Software Architect and Meme Wrangler, ThoughtWorks
Neal is an acclaimed international speaker and expert on designing and building of large-scale enterprise applications. Neal has spoken at over 100 conferences worldwide, delivering more than 600 talks. Neal is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations and author and/or editor of 6 books spanning a variety of technologies, including the most recent The Productive Programmer.
Understand the concept of DevOps by employing DevOps Strategy Roadmap Lifecycle PowerPoint Presentation Slides Complete Deck. Describe how DevOps is different from traditional IT with these content-ready PPT themes. The slides also help to discuss DevOps use cases in the business, roadmap, and its lifecycle. Explain the roles, responsibilities, and skills of DevOps engineers by utilizing this visually appealing slide deck. Demonstrate DevOp roadmap for implementation in the organization with the help of a thoroughly researched PPT slideshow. Describe the characteristics of cloud computing, its benefits, and risks with the aid of this PPT layout. Utilize this easy-to-use DevOps transformation strategy PowerPoint slide deck to showcase the difference between cloud and traditional data centers. This ready-to-use PowerPoint layout also discusses the roadmap to integrate cloud computing in business. Highlight the usages of cloud computing and deployment models with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. https://bit.ly/3eFxYYr
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentIBM UrbanCode Products
Slides from an Urbancode and Accurev joint webinar: http://www.accurev.com/webinar/20120119-Scaling-CI-Parallel-Development
Continuous integration is simple with a single development team. But when software projects grow to multiple teams and dependencies, continuous integration loses effectiveness due to parallel projects, varying release schedules, and differing cadences between teams. As a result, many teams unknowingly lose the benefits of continuous integration, and therefore suffer from a lack of feedback and poor quality.
In this webinar, UrbanCode’s Eric Minick and AccuRev’s Chris Lucca will explain how to:
- Scale continuous integration builds across multiple development teams working on parallel projects
- Share only code that has passed continuous integration from other teams to avoid broken builds and confusion
- Automate the configuration of your test environment to handle fluid projects done in parallel
My presentation at Arvato Systems about TDD. This presentation is based on my own knowledge and experience. I go through two full TDD cycles programmed in Eclipse presenting the written code in the presentation.
DevOps is a software development method which is all about working together between Developers and IT Professionals. This presentation gives you an introduction to DevOps.
Buddy Up Animal Society networks with shelters, trainers, behaviorists, foster homes, and adoptive homes to provide a safe haven for pets who run out of options in the shelter system.
Based in the southern and midcoast Maine area, Buddy Up is a 501(c)(3) tax-exempt charitable organization. Donations are needed, very much appreciated, and tax deductible.
www.BuddyUpAnimalSociety.org
www.facebook.com/BuddyUp
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesAgile Trends
Assunto que será abordado:
Por onde e como começar aplicar DevOps em grandes corporações?
Diferenças entre DevOps para Start-Ups vs Grandes Corporações
Principais barreiras a serem quebradas
Mudança de MindSet Corporativo
Principais ganhos para a corporação
DevOps is a methodology capturing the practices adopted from the very start by the web giants who had a unique opportunity as well as a strong requirement to invent new ways of working due to the very nature of their business: the need to evolve their systems at an unprecedented pace as well as extend them and their business sometimes on a daily basis.
While DevOps makes obviously a critical sense for startups, I believe that the big corporations with large and old-fashioned IT departments are actually the ones that can benefit the most from adopting these principles and practices.
Watch the recorded version of this Webinar here:
Curious about Continuous Integration? Tune in!
Continuous Integration (CI), which is a big part of continuous delivery, is the concept of continuously building and testing software using an automated process. We have learned that utilizing CI could help us catch bugs earlier, enable better visibility, reduce repetitive processes, enable the development team to produce deployable products at a moment's notice, and reduce risk overall.
These slides will identify the various levels of continuous integration and delivery with regards to a release maturity of the development team or parent organization.
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
Thanks to Liam and the crew from Magentys for arranging a fantastic evening of presentations on all things DevOps.
Attached is my presentation from the event on Enterprise Devops.
For those of you who missed it:
“Join the crowd of 100 industry leaders across the Retail, Finance and Digital sectors for an exciting evening of talks in London’s Tech City on DevOps. Enjoy networking with a chilled beer alongside the experts who are making DevOps work and those who want to make it work.
Whether you’re a corporate or start-up, DevOps should be a hot topic so listen to how the experts are achieving great things, hear their views on the trends and discuss the future of DevOps.”
Jonny
enterprisedevops.com
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedJoão Pedro Martins
Improving on a previous version of this session delivered in Lisbon, this deck describes the real experiences in architecting and developing a large software project that took 3 years to go live. It was presented at a 3,5hr ITARC2015 workshop in Stockholm, Sweden.
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
Slides from my talk at ConFoo Montreal, February 2016. A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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.
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.
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.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
2. Flavors and Concepts
To Build or Not to Build?
To Test or Not to Test?
To Analyze or Not to Analyze?
To Deploy or Not To Deploy?
3. Advantages and Disadvantages
Advantages:
When unit tests fail or a bug emerges, developers might revert the codebase to a bug-free state, without wasting time
debugging
Developers detect and fix integration problems continuously — avoiding last-minute chaos at release dates, (when
everyone tries to check in their slightly incompatible versions).
Early warning of broken/incompatible code
Early warning of conflicting changes
Immediate unit testing of all changes
Constant availability of a "current" build for testing, demo, or release purposes
Immediate feedback to developers on the quality, functionality, or system-wide impact of code they are writing
Frequent code check-in pushes developers to create modular, less complex code[citation needed]
Metrics generated from automated testing and CI (such as metrics for code coverage, code complexity, and features
complete) focus developers on developing functional, quality code, and help develop momentum in a team[citation needed]
Disadvantages
Initial setup time required
Well-developed test-suite required to achieve automated testing advantages
Source: http://en.wikipedia.org/wiki/Continuous_integration#Advantages_and_disadvantages
4. Implementations and Realizations
Open / Free:
Jenkins
BuildHive ( Cloud-based )
Closed / Trials; Freemium; Subscriptions, etc.
Team Fundation Server
Hudson
TeamCity
+
5. Representation(s) and Accessibility
●
Cloud → Web-browser → IDEs
●
Though it means bunch of VM, you still will have best margin of
wysiwyg from IDE
●
Server → Web-browser → CLI
●
Though it means bunch of OS-specific coding, you still do not
want surprises from custom regexp :)
●
Workstation→ Data Transmission Protocols → JSON ;
REST(ful) ; XML ; etc.
●
It depends from knowledge of developer itself. It is possible to
launch most actions in CI software, like Jenkins, from any
objects above.
●
Exclusion For TFS: using Team Foundation Server OData
API
7. Examples of IDE GUI
Team Foundation Server 2010
Something similar to PivotTables...
8. Problem(s) – Everyone wants to be happy
●
●
Define in most possible detail what your CI
solution is for. For example, You cannot
argue with colleges that they cannot access
their required data because they are lazy or
not willing to spend time searching for
particular stuff. You must guide them so
the search feels natural and comfortable
– but only transparent guidance is
process-based.
Set up reoccurring events or meet-ups with different
colleges of what their experiences was lately with CI
solution. If CI solution is closed source, ensure you
advise users do Feedback. Users must feel they are
backed up and can consult and do not get in frustration
of the chaos they might think CI is. Programmer or
Developer will force on fast and straight result; SysAdmin will
ask to provide small and compact packaging; Solution /
System Architect will always have its own legit view.
Distribution / Deployment will want for tested & verified data.
9. Problem(s) – Executable is high-priority element in the build-process
Define relation(s) between what you see and what you get out of
something CI solutions invoked build-process utilizes. For example,
avoid thinking only in one-way pattern that call to executable “x” only
references to actual task or sub-task. Each executable is just one
element of whole process and all it does it transforms data.
Once you parallelize two or more of them, you must acknowledge
you might start to complicate things. Maybe your CI solution is just
too powerful or too extensible, causing confusion?
10. Problem(s) – Too much elements, too few layers, zero understanding
Each new introduction of new “tool” is a new challenge of evaluation
of sustainability of your CI setup as whole. Group all tools you use (
executables, at this point ), define their tasks and expected
outcome, and group them, making layers. For example, if you use
subversion and git in single (build)system, label it as “svn”.
Each group might intersect some of its behavior by others. Do not
expect it will not happen; instead, ensure accessibility of debug
logging assets and monitor their usage. You might be surprised what
you will see there, especially if you present results to colleges.
11. Solutions(s) – Visualize!
Nothing frustrates DevOps more than (build)system users doing or even
performing changes that do not follow strictly defined description of
process. Once you introduce something new, redraw this image and see, how
big difference from default you are having now.
12. Solution(s) – Different README for everyone
Best way to ensure all the
parties will understand they are
dealing with is not to write it on
your own. Company
ecosystem is very dynamic
place. Let the core tools
provide help content, because
they ignore subjective view of
any involved person in such
README content.
13. Solution(s) Capability Maturity Model Integration ( CMMI )
Auditing your (build)system
using CMMI can also be
used to discover issues
between different layers of
your CI solution /
(build)system. Level 1-4
can be fully put
side-by-side with main CI
tasks: Compile; Tests;
Package; Deploy. Each of
tasks may contain
multiple layers.
14. Case-study: Jack-of-all-trades /
Master Exploder?
Single server → specified IDEs →
specified language pre-pocessing
capabilities → specified post-processing
capabilities → limited Quality-Assurance
support → usability-driven CI server
support and maintenance plan →
Knowledge-base!!!
Single server → unspecified IDEs →
unspecified language pre-processing
capabilities → unspecified language
post-processing capabilities →
unlimited QA support → capacity-driven
CI server support and maintenance
plan → CMMI & Knowledge-base!!!
Team
City
Server
Container
$
.NET
Ant,
Rake,
( scripti Maven, Foxcop
ng )
Gradle, , CMD
IDEA
Subversio
n, CVS,
Git,
Mercurial,
AccuRev
SCM,
Clearcase,
Perforce,
SourceSaf
e,
StarTeam,
TFS, Vault
E-mail,
XMPP,
RSS,
IDE,
SysTray
Eclipse, VS,
IntelliJ IDEA,
RubyMine,
PyCharm,
PhpStorm,
WebStorm →
Jetbrains
Youtrack, JIRA,
Bugzilla,
FishEye,
FindBugs,
PMD,
dotCover,
NCover
TFS
Win,
VSTM
$
.NET
( IDE )
TFS
E-mail,
SOAP
VS,
Eclipse
Ant,
Maven
Scripting,
CMD
15. Case-study: Make CI work for you, not You for CI
●
●
●
Any stack-trace or debug info you see in Web-browser
representation of CI server is your friend. Once user sees it,
always advice to register it in internal CI bugtracking software.
Any more detailed log than usual shows both your
professionalism and actually represents you do care about
future.
● OS: ${JENKINS_HOME}*.log
Any non-build reports of statistics or actions performed is
extremely valuable if suddenly CI server fails and gets
unreachable.
● JVM: -Xdebug
16. Experience(s) – It's all about echo...
●
Jenkins / Hudson – it should be all about command line. Once you
press “Build” button, each external tool is new layer between
build-process and build-result. :)
●
●
Supports Puppet both ways!
TeamCity – it should be all about task-to-task, where developer do not
directly interfere with build-scripting :)
●
●
Puppet supports TeamCity :)
Team Foundation Server – it all should be about Windows ecosystem
supported products. You got good salary - “You do it right” ; You got
Microsoft Logo poster in your bedroom - “You do it wrong”.
●
Ignores Puppet ; Got VS Release management / Team System.
17. Experience(s) – Half planned CI is dangerous
●
Plan fully all the data flow ( in blocks ) from the initiation of
build-process to the moment of build-result. If you do not
determine and cannot characterize in full detail each and every
I/O operation your CI solution performs, you might not
understand the purpose of that examined process. Block
schemes is your friend, when used with, for example, Jenkins.
●
On other hand, TFS has limited extensibility, which leads to
more determined outcome.
18. Experience(s) – Do not let become wiki dumpsite ( “build monkey” )!
●
Working in Company that both is Software Developer and Software
System Maintainer forces individuals to start to become something
like dumpsite of all wiki-fiable information about Companies IT
Ecosystem. If it is happening, it is first signal that Layers either
are too much intersecting, either there is critically insufficient
HR and documentation of build-process as whole. It means you
gave to get back to block-scheme ; internal auditing and CMMI.
●
On other hand, TFS, as strictly defined environment, provides more
tighten standardization
19. Experience(s) – Hardware-oriented tasks are overhead
It is not very rare that you might be forced to integrate some
“cleanup” behavior for some cases, especially if you use
Compilation, which intends to create garbage in your physical
data storage. Once situation is acknowledged, it is
necessary to optimize data flow and data life-cycle.
20. Summary
●
●
●
Extensibility starts from Shell / Command line – if CI solution you
use starts from here, you MUST support full and SEPERATED
Product Release and Infrastructure Maintenance teams.
● Jenkins
Flexibility starts from build-scripts, for example, MAKE, ANT,
NANT, PHING, etc. If you you go from here, you MUST ensure
process describes both its own capabilities and Human utilizing this
(build)system.
● Jenkins ; TeamCity
Reliability / Stability starts from language CI has been built-on.
If your CI documentation states it is, for example, Java-based, then
you MUST keep full Performance and Reliability logging in all levels
of (build)system in the way any system crash is fully transparent to
users. Fear not – weekly metrics with JRockit rock!
● Jenkins, TeamCity, Team Fundation Server