When it comes to Continuous Integration and Delivery, the common idea is that the tools necessary to practice it are complex and require a lot of study and time to create the basic infrastructure.
With this workshop we want to show a "turnkey" solution to experiment the Continuous Delivery technique in just a few minutes! And show that the challenge is not to dominate the tools, but to change ourselves and the way we work and approach this topic.
Short overview of the main principles of Continuous Integration (CI), describing benefits of CI and showing a smooth path of integrating CI into your development cycle, finishing with a short introduction into Xinc - PHP CI Server and how to utilize it for your projects.
Speaker: Svetlin Nakov
BurgasConf 2021, lightling talk
How to build CI/CD pipelines with GitHub Actions, how to write workflow scripts, how to execute workflows + live demo.
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
http://www.TestManagement.com: Module 2 of a six module course on building the test automation framework. This second module looks at how to implement Jenkins in the test environment.
Using CI for continuous delivery Part 1Vishal Biyani
This is part 3 of "Using CI for continuous delivery" in which we test drive Go. More details can be found at www.vishalbiyani.com/ci-continuous-delivery
These slides are about my personal experience from creating a continuous delivery process in the last 2 years.
The main focus lies in the tools I used and my experience with them.
UI Testing, Performance Testing, Load Testing. I test meno utilizzati nel mondo dello sviluppo.
Strumenti ed esempi per lo sviluppo.
Codice disponibile qui: https://github.com/andreatosato/DOH2019
Short overview of the main principles of Continuous Integration (CI), describing benefits of CI and showing a smooth path of integrating CI into your development cycle, finishing with a short introduction into Xinc - PHP CI Server and how to utilize it for your projects.
Speaker: Svetlin Nakov
BurgasConf 2021, lightling talk
How to build CI/CD pipelines with GitHub Actions, how to write workflow scripts, how to execute workflows + live demo.
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
http://www.TestManagement.com: Module 2 of a six module course on building the test automation framework. This second module looks at how to implement Jenkins in the test environment.
Using CI for continuous delivery Part 1Vishal Biyani
This is part 3 of "Using CI for continuous delivery" in which we test drive Go. More details can be found at www.vishalbiyani.com/ci-continuous-delivery
These slides are about my personal experience from creating a continuous delivery process in the last 2 years.
The main focus lies in the tools I used and my experience with them.
UI Testing, Performance Testing, Load Testing. I test meno utilizzati nel mondo dello sviluppo.
Strumenti ed esempi per lo sviluppo.
Codice disponibile qui: https://github.com/andreatosato/DOH2019
WebRTC is a new HTML5 technology that includes a communication protocol for real-time applications and APIs/libraries for web & native applications to communicate with each other.
Jenkins to Gitlab - Intelligent Build-PipelinesChristian Münch
At netz98 we moved from Jenkins to Gitlab. The slides show some insides about Testing of PHP libraries, Magento 1 and Magento 2 modules. How to setup a scalable and fast Gitlab-Pipeline with Docker images.
Testing Your Code as Part of an Industrial Grade WorkflowPantheon
There are a lot of obvious benefits to using version control for your projects, but there are a lot of non obvious benefits too. In this SlideShare, learn how to create an industrial grade version control workflow using Git and automatic testing. Topics include:
- How to Use Git Branches: Instead of having all of the developers work on the same “master” branch, you can have developers work on separate branches that can be created per developer, per feature, or even per ticket in your project management system.
- How to Do Performance Testing: Instead of crossing your fingers when you site gets a lot of traffic, be sure that your site can handle the traffic by doing performance testing on each deployment that you do.
- How to Do Cross Browser Testing: Instead of firing up a bunch of Virtual Machines to test different browsers and devices, set up an automatic script so that every time you are looking to do a deploy you get a bunch of screenshots to review.
- How to Do Visual Regression Testing: If you are pushing a change that shouldn’t effect the front end of the site, wouldn’t it be nice to verify that? Learn how to visually compare a “before” and “after” version of your site to see where (if anywhere) visual changes happen.
- How to Notify You Of Deployments: Instead of wondering if code has been deployed, learn how to integrate your workflow with chat solutions like Hipchat/Slack or more traditional solutions like SMS or Email.
If you are a developer or manage developers on web projects, this session will help you learn how to level up your workflow and do a lot of really powerful testing on your project every time you do a commit.
>>> View this presentation online at http://github-service-universe.kimminich.de/ <<<
PDF version of the slide deck for my JavaLand 2015 talk "All-round careful Software Development with GitHub Services"
Tools for unit testing, building applications, analyzing software quality and planning release scopes are an essential aspect of modern software development. With GitHub and "pluggable" external services there are lots of options to move these aspects into "the Cloud". For open source projects this is a viable alternative to on-premise solutions. In this talk I will present and demonstrate the CI lifecycle of some of my recent projects hosted on GitHub where I tried to integrate modern tools (e.g. Gradle, npm, bower) and external services (e.g. Travis-CI, Code Climate, Coveralls, HuBoard, AmazonSNS, NMA). The benefits and limitations of those services will be honestly illuminated. I am not affiliated with any of the providers mentioned, so this talk will not end up as a marketing show! Instead, the audience is supposed go out of this talk with some new things to try out with their own GitHub projects while hopefully being able to avoid some of the ramp-up difficulties.
Seamless Continuous Deployment Using Docker ContainersFaiz Bashir
To be a truly modern software development team, delivering software as quickly as possible using the minimum viable product (MVP) model is a key requirement. To achieve continuous software delivery is not trivial. A number of technologies have sprung up to simplify this process and Docker is hottest one among them.
Gitlab - Creating C++ applications with Gitlab CIUilian Ries
Gitlab is a complete tool that integrates everything from project management to product construction. In this talk I will present how a C ++ project can be analyzed, built, tested and deployed using Gitlab.
WebRTC is a new HTML5 technology that includes a communication protocol for real-time applications and APIs/libraries for web & native applications to communicate with each other.
Jenkins to Gitlab - Intelligent Build-PipelinesChristian Münch
At netz98 we moved from Jenkins to Gitlab. The slides show some insides about Testing of PHP libraries, Magento 1 and Magento 2 modules. How to setup a scalable and fast Gitlab-Pipeline with Docker images.
Testing Your Code as Part of an Industrial Grade WorkflowPantheon
There are a lot of obvious benefits to using version control for your projects, but there are a lot of non obvious benefits too. In this SlideShare, learn how to create an industrial grade version control workflow using Git and automatic testing. Topics include:
- How to Use Git Branches: Instead of having all of the developers work on the same “master” branch, you can have developers work on separate branches that can be created per developer, per feature, or even per ticket in your project management system.
- How to Do Performance Testing: Instead of crossing your fingers when you site gets a lot of traffic, be sure that your site can handle the traffic by doing performance testing on each deployment that you do.
- How to Do Cross Browser Testing: Instead of firing up a bunch of Virtual Machines to test different browsers and devices, set up an automatic script so that every time you are looking to do a deploy you get a bunch of screenshots to review.
- How to Do Visual Regression Testing: If you are pushing a change that shouldn’t effect the front end of the site, wouldn’t it be nice to verify that? Learn how to visually compare a “before” and “after” version of your site to see where (if anywhere) visual changes happen.
- How to Notify You Of Deployments: Instead of wondering if code has been deployed, learn how to integrate your workflow with chat solutions like Hipchat/Slack or more traditional solutions like SMS or Email.
If you are a developer or manage developers on web projects, this session will help you learn how to level up your workflow and do a lot of really powerful testing on your project every time you do a commit.
>>> View this presentation online at http://github-service-universe.kimminich.de/ <<<
PDF version of the slide deck for my JavaLand 2015 talk "All-round careful Software Development with GitHub Services"
Tools for unit testing, building applications, analyzing software quality and planning release scopes are an essential aspect of modern software development. With GitHub and "pluggable" external services there are lots of options to move these aspects into "the Cloud". For open source projects this is a viable alternative to on-premise solutions. In this talk I will present and demonstrate the CI lifecycle of some of my recent projects hosted on GitHub where I tried to integrate modern tools (e.g. Gradle, npm, bower) and external services (e.g. Travis-CI, Code Climate, Coveralls, HuBoard, AmazonSNS, NMA). The benefits and limitations of those services will be honestly illuminated. I am not affiliated with any of the providers mentioned, so this talk will not end up as a marketing show! Instead, the audience is supposed go out of this talk with some new things to try out with their own GitHub projects while hopefully being able to avoid some of the ramp-up difficulties.
Seamless Continuous Deployment Using Docker ContainersFaiz Bashir
To be a truly modern software development team, delivering software as quickly as possible using the minimum viable product (MVP) model is a key requirement. To achieve continuous software delivery is not trivial. A number of technologies have sprung up to simplify this process and Docker is hottest one among them.
Gitlab - Creating C++ applications with Gitlab CIUilian Ries
Gitlab is a complete tool that integrates everything from project management to product construction. In this talk I will present how a C ++ project can be analyzed, built, tested and deployed using Gitlab.
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
Building a CI/CD System with GitHub Actions
Dr. Svetlin Nakov
September 2022
Intro to Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment (CD), and CI/CD Pipelines
Intro to GitHub Actions
Building CI workflow
Building CD workflow
Live Demo: Build CI System for JS and .NET Apps
Continuous Integration & Development with GitlabAyush Sharma
GitLab CI is a part of GitLab, a web application with an API that stores its state in a database. It manages projects/builds and provides a nice user interface, besides all the features of GitLab. GitLab Runner is an application which processes builds.
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...Richard Johansson
In this presentation we explain how to set up a complete IBM native tool chain for Continuous Delivery by using the IBM DevOps Services' Build & Deploy feature, also known as the Delivery Pipeline. We develop, build, (by automation) unit test, integration test, load test and deploy an ASP.NET 5 application with a Cloudant NoSQL database to Bluemix.
Simple tools to fight bigger quality battleAnand Ramdeo
This presentation was given in GTAC 2008 (Also available on www.TestingGeek.com) and discuss the approach of using SVN commit hooks and batch files as continuous integration system.
DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably.
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
This presentation covers the anatomy of a production CICD pipeline that is used to develop and deploy the cancer research application Oncoscape (https://oncoscape.sttrcancer.org)
Nos dias de hoje, onde trabalhamos em "internet time", com o paragdima da cloud e onde a economia nos obriga a fazer mais com menos, o "Time to Market" torna-se um fator diferenciador entre o sucesso e o falhanço de um projeto de software.
Esta sessão aborda alguns métodos e ferramentas que nos ajudam a automatizar processos de build e deployment, que podem tornar-se dolorosos e até impeditivos no avanço para a meta final de um projeto de software, de modo a que nos possamos focar nas atividades que acrescem valor ao nosso produto.
Nomeadamente, serão apresentados exemplos práticos da aplicação das tecnologias Microsoft como o MSBuild, Web Deploy, web.config transformations, web.config parametrizations e ainda, a utilização do servidor de builds Jenkins para implementar a automação de builds e deployments.
Comunidade NetPonto, a comunidade .NET em Portugal!
http://netponto.org
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
Microsoft Visual Studio 2017 is being launched on March 7. This is the 20th anniversary of Visual Studio! We will host a launch event on April 20th that will focus on some of the new features of Visual Studio 2017 and Mobile development with Xamarin for Visual Studio.
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
Invited talk at the Leaders of Tomorrow Symposium of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016).
The presentation (and its accompanying paper, see http://mcis.polymtl.ca/publications/2016/fose.pdf) explain the basics of release engineering pipelines, common challenges industry is facing as well as pitfalls software engineering researchers are falling into.
Speakers are Bram Adams (MCIS, http://mcis.polymtl.ca) and Shane McIntosh (McGill University, http://shanemcintosh.org).
A video-taped version of the talk will be available soon at https://www.youtube.com/channel/UCL8yG6qpHk7V66l1Jt3aZrA/featured.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
2. EXTREME PROGRAMMING
continuous integration
ten minute build
integration whole team
slack
weekly cycle
monthly cycle
stories
planning
programming
incremental design
test-first programming
primary
energized work
programming
shared code
code &test
s
ingle code base
team continuity
shrinking teams
real customer involvement
root cause analysis
incremental deployment
dailydeployment
pay-per-use
negotiated scope contract
tea
m
business
coro
llary
XP Practices
Turnkey Continuous Delivery
2
3. CONTINUOUS INTEGRATION
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. Each
integration is verified by an automated build
(including test) to detect integration errors as
quickly as possible. Many teams find that this
approach leads to significantly reduced
integration problems and allows a team to
develop cohesive software more rapidly.
Turnkey Continuous Delivery
3
4. CONTINUOUS ...
Kofy
Senaya
Director of
Product @
Clearbridge
Mobile
Continuous Delivery is similar to Continuous Integration. You
are building a product that can be released to production at
any time. Continuous Delivery requires building testing, and
releasing faster and more frequently. Continuous Integration
happens before you build as you are testing code. Delivery
means you can release something to the staging
environment or the pre-production environment.
Continuous Delivery is when your code is always ready to be
released but isn’t pushed to production unless you make the
decision to do so. It is a manual step. With Continuous
Deployment, any updated working version of the app is
automatically pushed to production.
Turnkey Continuous Delivery
4
6. WHAT DO WE DO NOW?
bootstrap our Continuous Delivery and test environment
configure the tools necessary to manage and build our
software
create our build Continuous Delivery pipeline
develop a simple micro-service
REST server
written in ES6
executed with Node.js
released as a docker image
Turnkey Continuous Delivery
6
7. REPOSITORIES
Build and Release Infrastructure
Example Project
Remove the remote named origin
Checkout the tag start
Reset master branch to the commit with the start tag
Turnkey Continuous Delivery
https://github.com/bombix/workshop-turnkey
https://github.com/intresrl/microservice-example-hex2hsl
7
30. IT'S ENOUGH ?
single shared code-base
automated build & merge different branches
self-testing build
integrate every commit
ten-minutes build & fail fast!
everyone can see what's happening
end-to-end test
automated deployment
test the deployment
test in a production-like environment
Turnkey Continuous Delivery
18
31. NEXT STEPS ...
Build Artifact
Push to Artifact Repository
Deploy on a test or staging server
Run it
Execute the post-deployment tests
Turnkey Continuous Delivery
19
32. BUILD ARTIFACT AND PUSH
Turnkey Continuous Delivery
stage('Build Docker Image') {
def container-name = ${pipelineName}-${env.BRANCH_NAME}
sh "docker -H tcp://192.168.50.91:2375 build
-t 192.168.50.91:5000/${container-name}:${env.BUILD_ID}
-t 192.168.50.91:5000/${container-name}:latest ."
}
stage('Push to Docker Registry') {
def container-name = ${pipelineName}-${env.BRANCH_NAME}
sh "docker -H tcp://192.168.50.91:2375
push 192.168.50.91:5000/${container-name}:${env.BUILD_ID}"
sh "docker -H tcp://192.168.50.91:2375
push 192.168.50.91:5000/${container-name}:latest"
}
20
33. DEPLOY & RUN
Turnkey Continuous Delivery
stage ('Deploy and Run') {
if (env.BRANCH_NAME == 'master') {
print "Deploy docker container to : staging environmet"
sh "ansible-playbook -i /ansible/inventory/hosts.yml
/ansible/hex2hsl.yml --limit staging"
} else {
print "Deploy docker container to : testing environmet"
sh "ansible-playbook -i /ansible/inventory/hosts.yml
--extra-vars 'hex2hsl_branch=${env.BRANCH_NAME} hex2hsl_port=${test_
/ansible/hex2hsl.yml --limit testing"
}
}
21