Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
To test and build the software continuously, Bugraptors also uses Jenkins to easily identify the changes in the project. Jenkins is a very famous open source tool that performs continuous integration and delivery of projects.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
To test and build the software continuously, Bugraptors also uses Jenkins to easily identify the changes in the project. Jenkins is a very famous open source tool that performs continuous integration and delivery of projects.
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
** DevOps Training: https://www.edureka.co/devops **
This CI CD Pipeline tutorial explains the concepts of Continuous Integration, Continuous Delivery & Deployment, its benefits, and its Tools. Below are the topics covered in the video:
1. What is DevOps
2. What are CI and CD?
3. Pipelines: What are they?
4. Continuous Delivery and Continuous Deployment
5. Role of Jenkins
6. Role of Docker
7. Hands-On – Creating CI CD Pipeline Using Jenkins and Docker
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
In this session, we will discuss the architecture of a Kubernetes cluster. we will go through all the master and worker components of a kubernetes cluster. We will also discuss the basic terminology of Kubernetes cluster such as Pods, Deployments, Service etc. We will also cover networking inside Kuberneets. In the end, we will discuss options available for the setup of a Kubernetes cluster.
This presentation covers how app deployment model evolved from bare metal servers to Kubernetes World.
In addition to theoretical information, you will find free KATACODA workshops url to perform practices to understand the details of the each topics.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
** DevOps Training: https://www.edureka.co/devops **
This CI CD Pipeline tutorial explains the concepts of Continuous Integration, Continuous Delivery & Deployment, its benefits, and its Tools. Below are the topics covered in the video:
1. What is DevOps
2. What are CI and CD?
3. Pipelines: What are they?
4. Continuous Delivery and Continuous Deployment
5. Role of Jenkins
6. Role of Docker
7. Hands-On – Creating CI CD Pipeline Using Jenkins and Docker
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
In this session, we will discuss the architecture of a Kubernetes cluster. we will go through all the master and worker components of a kubernetes cluster. We will also discuss the basic terminology of Kubernetes cluster such as Pods, Deployments, Service etc. We will also cover networking inside Kuberneets. In the end, we will discuss options available for the setup of a Kubernetes cluster.
This presentation covers how app deployment model evolved from bare metal servers to Kubernetes World.
In addition to theoretical information, you will find free KATACODA workshops url to perform practices to understand the details of the each topics.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Explore seamless development with Continuous Integration using Jenkins and Python. Learn the essentials of integrating Jenkins with Python for efficient software deployment and management.
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
By Christian Lipphardt, Camunda Services
Camunda is an open source, Java-based framework process/business process automation. As a middleware technology, Camunda integrates with six different Java application servers (in different versions) and supports six different database products. The team at Camunda maintains five supported versions of Camunda itself, adding two versions every year. Maintaining the necessary continuous integration (CI) infrastructure based on virtual machines became increasingly problematic, with poor build reproducibility and limited scalability. Feedback cycles for developers were unacceptable. Recently Camunda switched from the virtual machine model to a container model based on Docker. The Camunda team now develops infrastructure as code and applies microservice-like separation of concerns. In the talk, Daniel will share the new CI architecture and present lessons learned.
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsJames Strong
This talk was given at the January 2016 Meetup of the Louisville Software Engineers. In it we discuss how to implement continuous integration in a development environment utilizing Jenkins CI.
Continuous delivery with jenkins pipelines @ devdaysRoman Pickl
This talk demonstrates how a continuous delivery deployment pipeline can be set up harnessing jenkins 2’s Pipeline as Code features as well as its new Blue Ocean User Experience.
“I have stopped counting how many times I’ve done this from scratch” - was one of the responses to the tweet about starting the project called Spring Cloud Pipelines. Every company sets up a pipeline to take code from your source control, through unit testing and integration testing, to production from scratch. Every company creates some sort of automation to deploy its applications to servers. Enough is enough - time to automate that and focus on delivering business value.
In this presentation we’ll go through the contents of the Spring Cloud Pipelines project. We’ll start a new project for which we’ll have a deployment pipeline set up in no time. We’ll deploy to Cloud Foundry (but we also could do it with Kubernetes) and check if our application is backwards compatible so that we can roll it back on production.
A Deep Dive into Continuous Integration Monitoring PracticesJadson Santos
One of the main activities in software development is monitoring, which plays a vital role in verifying the proper implementation of processes, identifying errors, and discovering opportunities for improvement. Continuous Integration (CI) covers a set of widely adopted practices that enhance software development. However, there are indications that developers may not adequately monitor all CI practices. In this thesis, we delve deep into the ocean of monitoring CI practices. Our goal is to discover how this monitoring is conducted, demonstrate the advantages of monitoring CI practices, and highlight the challenges that need to be overcome. We conducted a series of studies to analyze the impact of specific CI practices on the volume of Pull Requests and bug-related Issues, as well as the importance attributed to these practices by developers and the support for monitoring provided by the most popular CI tools. Finally, we evaluate monitoring in real-world scenarios, conducting a case study on three projects from three different organizations, where we investigate more deeply the developers' interest in monitoring CI practices, their benefits, challenges, and the evolution of CI practices over a two-month period.
In our first study, we analyze the impact of specific CI practices on the volume of Pull Requests and bug-related Issues. Our findings revealed a positive correlation between CI practices and the increase in the number of merged pull requests. We also identified a significant correlation between the number of bug-related issues and the number of bugs. Additionally, our findings suggest that higher values of CI practices can indicate better quality in the development process.
In our second study, we investigate the importance attributed to these practices by developers and the support for monitoring provided by the most popular CI services. We find that developers usually monitor only code coverage and basic build metadata (e.g. build duration and build status). Developers expressed interest in monitoring CI practices if provided the opportunity. Furthermore, we have identified that several leading CI services still have initial support in monitoring CI practices.
Finally, we evaluate monitoring in real-world scenarios, conducting a case study on three projects from three different organizations, where we investigate more deeply the developers' interest in monitoring CI practices, their benefits, challenges, and the evolution of CI practices over a two-month period. The case study revealed that monitoring CI practices provides several benefits to the project and is cost-effective. Participants demonstrated a strong desire to integrate CI monitoring dashboards with popular CI services.
Introduction to angular with a simple but complete projectJadson Santos
A simple front end project with angular. Its show how to create your first components, include bootstrap templates, create routes and build the project to production.
Conheça o Junit, Mockito e PowerMock, Frameworks que permitem você criar testes unitários para sistemas de informação. Até menos sistemas não foram pensados para testes.
Usando JMeter para testar sua aplicação JSFJadson Santos
Testes de performance são uns dos testes fundamentais que toda equipe de desenvolvimento com o mínimo de profissionalismo deveria executar.
Essa apresentação mostra um exemplo básico de com usar JMeter para realizar testes de performance em aplicações web com JSF.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
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
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
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
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
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.
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.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
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.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
2. 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. This article is a quick
overview of Continuous Integration summarizing the technique and its
current usage.
27/11/2020 Continuous Delivery 2
3. Continuous Delivery and Deployment
• Continuous Delivery is a software development discipline where you
build software in such a way that the software can be released to
production at any time.
• Continuous Delivery is sometimes confused with Continuous
Deployment. Continuous Deployment means that every change goes
through the pipeline and automatically gets put into production, resulting
in many production deployments every day. Continuous Delivery just
means that you are able to do frequent deployments but may choose
not to do it, usually due to businesses preferring a slower rate of
deployment. In order to do Continuous Deployment you must be doing
Continuous Delivery.
27/11/2020 Continuous Delivery 3
5. Jenkins Introduction
• Jenkins an open source automation server which enables
developers around the world to reliably build, test, and
deploy their software.
• Jenkins works with the Job concept.
• A job is an execution that is created when an event is triggered. Be
it a commit, a period of time or even manually by the developer.
27/11/2020 Continuous Delivery 5
root
12345678
7. Jenkins Introduction
• Configuring the Repository
• As example, let’s use a Github repository
27/11/2020 Continuous Delivery 7
REPOSITORY: All source files — executable code, configuration, host
environment, and data — are committed to a version control repositor (P. M.
Duvall DZone refcard #145).
8. Jenkins Introduction
• Credentials
• We created a pair of RSA keys, put the public on github and the
private on Jenkins
27/11/2020 Continuous Delivery 8
9. Jenkins Introduction
• Scheduling
• Every 1 hour, when there is a change in the repository (a new
commit)
27/11/2020 Continuous Delivery 9
CONTINUOUS INTEGRATION: Building and testing software with every change
committed to a project’s version control repositor (P. M. Duvall DZone refcard
#145).
10. Jenkins Introduction
• Build Step
27/11/2020 Continuous Delivery 10
INDEPENDENT BUILD: Write build scripts that are decoupled from IDEs.
These build scripts are executed by a CI system so that software is built at every
change (P. M. Duvall DZone refcard #145).
BUILD AND DEPLOYMENT SCRIPTING : Centralize all dependent libraries to
reduce bloat, class path problems, and repetition of the same dependent libraries
and transitive dependencies from project to project. (P. M. Duvall DZone refcard
#145).
11. Jenkins Introduction
• Pos-Build Actions
27/11/2020 Continuous Delivery 11
AUTOMATE TESTS: Automate the verification and validation of software to
include unit, component, capacity, functional, and deployment tests (P. M. Duvall
DZone refcard #145).
12. Jenkins Introduction
• Pos-Build Actions
27/11/2020 Continuous Delivery 12
CONTINUOUS FEEDBACK: Send automated feedback from CI system to all
cross-functional team members (P. M. Duvall DZone refcard #145).
15. Jenkins Introduction
• Build DashBoard
27/11/2020 Continuous Delivery 15
VISIBLE DASHBOARDS : Provide large visible displays that aggregate information
from your delivery system to provide high quality feedback to the Cross-Functional
Team in real time. (P. M. Duvall DZone refcard #145).
20. Jenkins Introduction
• Jenkins Configuration (Making the dashboard public)
• Configure Global Security
• Choose "Role-Based Strategy" in the "Authorization" section
27/11/2020 Continuous Delivery 20
21. Jenkins Introduction
• Jenkins Configuration (Making the dashboard public)
• Manage and Assign Roles -> Manage Roles
• Create a new “public” role and give permission just to read: Overall,
Jobs and View.
27/11/2020 Continuous Delivery 21
22. Jenkins Introduction
• Jenkins Configuration (Making the dashboard public)
• Manage and Assign Roles -> Assign Roles
• Assing “public” role to “Anonymous” user
27/11/2020 Continuous Delivery 22
23. Jenkins Introduction
• Jenkins Configuration (Making the dashboard public)
• Now “Anonymous” users (without login) can view the dashboard
27/11/2020 Continuous Delivery 23
24. Pipeline
27/11/2020 Continuous Delivery 24
DEPLOYMENT PIPELINE: A deployment pipeline is an automated implementation
of your application’s build, test, deploy, and release process. (P. M. Duvall DZone
refcard #145).
25. Continuous Delivery Pipeline
• Pipeline is a concept to avoid waste in the software
development process and is used to provide quick
feedback to the team during the deployment process.
28/09/16 Continuous Delivery 25
26. Continuous Delivery Pipeline
• How does it works?
• The software deployment is divided into different
stages, where the tasks (jobs) are performed in each
of these stages. At the same stage, tasks can be
performed in parallel, to assist in the feedback loop.
When all tasks in one stage are approved, tasks in
the next stages can begin.
28/09/16 Continuous Delivery 26
27. Continuous Delivery Pipeline
• Jenkins has some Pipeline Plugins
• We will demonstrated 3 Jenkins plugins:
• Pipeline Plugin
• Build Pipeline Plugin
• Blue Ocean Plugin
• You will need to install than in the Jenkins
28/09/16 Continuous Delivery 27
30. Continuous Delivery Pipeline
With Pipeline Plugin
• In the pipeline script, define the stages of your pipeline
with it specific syntax.
• We need to have 3 simple jobs previously created. Each
job will be a stage of pipeline
28/09/16 Continuous Delivery 30
31. Continuous Delivery Pipeline
With Pipeline Plugin
• Now execute the pipeline job the it will be show the
execution of each pipeline stage
28/09/16 Continuous Delivery 31
33. Continuous Delivery Pipeline
With Build Pipeline Plugin
• This plugin uses a view as pipeline, instead a job.
• Create a new view and choose “Build Pipeline View”
28/09/16 Continuous Delivery 33
34. Continuous Delivery Pipeline
With Build Pipeline Plugin
• In the “Pipeline Flow” section select the first job as a
initial job (each job was configured to call the next job of
the pipeline in the post action build section)
28/09/16 Continuous Delivery 34
35. Continuous Delivery Pipeline
With Build Pipeline Plugin
• Now change to the pipeline view that was create and you
will see all stages of the pipeline and can manage it
28/09/16 Continuous Delivery 35
36. Continuous Delivery Pipeline
These pipelines only show the execution of existing Jobs in
the form of a pipeline.
That is, they organize the visualization of Jobs in sequence.
But it's still just Jobs running in sequence
28/09/16 Continuous Delivery 36
38. Blue Ocean Introduction
• Blue Ocean rethinks the user experience of Jenkins.
Designed from the ground up for Jenkins Pipeline, but still
compatible with freestyle jobs, Blue Ocean reduces clutter
and increases clarity for every member of the team.
• Sophisticated visualizations
• Pipeline editor
• Personalization
27/11/2020 Continuous Delivery 38
43. Blue Ocean Introduction
• Creating a Pipeline
• You can choose Git and enter with user and password
27/11/2020 Continuous Delivery 43
44. Blue Ocean Introduction
• Creating a Pipeline
• Or choose Github and use your “Personal access tokens”
27/11/2020 Continuous Delivery 44
45. Blue Ocean Introduction
• Creating a Pipeline
• Than choose the repository
27/11/2020 Continuous Delivery 45
46. Blue Ocean Introduction
• Creating a Pipeline
• It will created a Jenkinsfile file
• This file will hold all configuration of your pipeline
27/11/2020 Continuous Delivery 46
REPOSITORY: All source files — executable code, configuration, host environment,
and data — are committed to a version control repository. (P. M. Duvall DZone
refcard #145).
48. Blue Ocean Introduction
• Infrastructure as code, ou IaC
• It is na automating process the management and provisioning of
the IT infrastructure using configuration files, rather than physical
hardware configurations or interactive configuration tools.
• This automation eliminates the need for developers to manually
provision and manage servers, operating systems, databases, and
other infrastructure elements
27/11/2020 Continuous Delivery 48
49. Blue Ocean Introduction
• Infrastructure as code, ou IaC
• Benefits.
• Uniform Configuration for All Environments
• Protection against churn
• Faster and more efficient development
• Faster time to market
• Lower costs
27/11/2020 Continuous Delivery 49
50. Blue Ocean Introduction
• Creating a Pipeline
• With Blue Ocean plugin you can create visually the steps of your
pipeline
• Just click in the “plus” icon.
27/11/2020 Continuous Delivery 50
51. Blue Ocean Introduction
• Creating a Pipeline
• When you click in “plus” icon you can choose several steps types
27/11/2020 Continuous Delivery 51
52. Blue Ocean Introduction
• Creating a Pipeline
• A pipeline can be configurated in several ways
• For example we can execute a the existing job, like our “Simple
JOB” that already make the entire build of our project (clean, build
and test)
27/11/2020 Continuous Delivery 52
53. Blue Ocean Introduction
• Creating a Pipeline
• Let’s create 3 sequential steps: clean, build and test.
27/11/2020 Continuous Delivery 53
54. Blue Ocean Introduction
• Creating a Pipeline
• How we are using Gradle as a build tool.
• Each step of our pipeline, need just run a gradle script task.
• PS.: We need to have the gradle installed on the integration server to
Jenkins be able to execute it.
27/11/2020 Continuous Delivery 54
55. Blue Ocean Introduction
• Creating a Pipeline
• After execution the Blue Ocean shows to show to us all steps of
execution.
27/11/2020 Continuous Delivery 55
56. Blue Ocean Introduction
• Creating a Pipeline
• We can see the log of execution
27/11/2020 Continuous Delivery 56
57. Blue Ocean Introduction
• Creating a Pipeline
• If some steps failed, we can see what went wrong
27/11/2020 Continuous Delivery 57
58. Blue Ocean Introduction
• Creating a Pipeline
• The Blue Ocean Plugin committed the Jenkinksfile into our project
27/11/2020 Continuous Delivery 58
60. Blue Ocean Improve our pipeline
• Continuous Code Quality
27/11/2020 Continuous Delivery 60
PARALLEL TESTS: Run multiple tests in parallel across hardware instances to
decrease the time in running tests. (P. M. Duvall DZone refcard #145).
FAST BUILDS: The commit build provides feedback on common build problems as
quickly as possible — usually in under 10 minutes. (P. M. Duvall DZone refcard
#145).
61. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Standard sonarqube execution is very simple
• Download the community version, and run the bin/sonar.sh start
command
27/11/2020 Continuous Delivery 61
62. Blue Ocean Improve our pipeline
• Continuous Code Quality
• The sonarqube will run at the address: http://localhost:9000
• Default User: admin
• Default Password: admin
27/11/2020 Continuous Delivery 62
63. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Add sonarqube plugin at gradle script
• And run sonarqube task
27/11/2020 Continuous Delivery 63
64. Blue Ocean Improve our pipeline
• Continuous Code Quality
• The result will be published automatically on sonarqube
27/11/2020 Continuous Delivery 64
65. Blue Ocean Improve our pipeline
• Continuous Code Quality
• We can see the report on sonarqube
27/11/2020 Continuous Delivery 65
66. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Add a parallel step to run sonarqube gradle task
27/11/2020 Continuous Delivery 66
67. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Allow Authentication in Sonarqube
• Administration > Configuration > General Settings > Security, and set
the force user authentication property to true
27/11/2020 Continuous Delivery 67
68. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Sonarqube tokens
• Administration > Security > Users. Once established, a token is the
only credential needed to run an analysis. Pass it as the value to the
sonar.login property
27/11/2020 Continuous Delivery 68
69. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Sonarqube tokens
• Administration > Security > Users. Once established, a token is the
only credential needed to run an analysis. Pass it as the value to the
sonar.login property
27/11/2020 Continuous Delivery 69
System.getProperties('my.property') = -D my.property=value
70. Blue Ocean Improve our pipeline
• Continuous Code Quality
• Coverage on Sonarqube
27/11/2020 Continuous Delivery 70
71. Blue Ocean Improve our pipeline
• Continuous Delivery vs Continuous Deployment
27/11/2020 Continuous Delivery 71
72. Blue Ocean Improve our pipeline
• Continuous Delivery vs Continuous Deployment
27/11/2020 Continuous Delivery 72
73. Blue Ocean Improve our pipeline
• DataBase Migration
• Flyway: Version control for your database. Robust schema
evolution across all your environments. With ease, pleasure and
plain SQL.
27/11/2020 Continuous Delivery 73
SCRIPTED DATABASE: Script all database actions as part of the build process. (P.
M. Duvall DZone refcard #145).
DATABASE UPGRADE: Use scripts to apply incremental changes in each target
environment to a database schema and data. (P. M. Duvall DZone refcard #145).
74. Blue Ocean Improve our pipeline
• DataBase Migration
• As we are using Gradle as build tool, configure the flyway Gradle
plugin
27/11/2020 Continuous Delivery 74
75. Blue Ocean Improve our pipeline
• DataBase Migration
• As we are using Gradle as build tool, configure the flyway Gradle
plugin
27/11/2020 Continuous Delivery 75
76. Blue Ocean Improve our pipeline
• DataBase Migration
• Configure inside resources/db/migration the migrations scripts
27/11/2020 Continuous Delivery 76
77. Blue Ocean Improve our pipeline
• DataBase Migration
• Example of migration script
27/11/2020 Continuous Delivery 77
78. Blue Ocean Improve our pipeline
• DataBase Migration
• Configure sensitive data by Gradle parameters in step
27/11/2020 Continuous Delivery 78
project.property('my.property') = -P my.property=value
79. Blue Ocean Improve our pipeline
• DataBase Migration
• As a result, a flyway_schema_history table was created and the
initial user was insert into users table.
27/11/2020 Continuous Delivery 79
80. Blue Ocean Improve our pipeline
• Deploy
27/11/2020 Continuous Delivery 80
BLUE-GREEN DEPLOYMENTS: Deploy software to a non-production environment
(call it blue) while production continues to run. Once it’s deployed and “warmed up,”
switch production (green) to non-production and blue to green simultaneously. (P.
M. Duvall DZone refcard #145).
PRODUCTION-LIKE ENVIRONMENTS: Target environments are as similar to
production as possible. (P. M. Duvall DZone refcard #145).
81. Blue Ocean Improve our pipeline
• Deploying using SSH
27/11/2020 Continuous Delivery 81
82. Blue Ocean Improve our pipeline
• Deploying using SSH
27/11/2020 Continuous Delivery 82
83. Blue Ocean Improve our pipeline
• Deploying using SSH
27/11/2020 Continuous Delivery 83
We can execute command
to restart the application
84. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Heroku is a PaaS (Platform as a Service) that allows you to host up
to 5 applications for free
27/11/2020 Continuous Delivery 84
85. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Create a Heroku Application
27/11/2020 Continuous Delivery 85
86. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Install the Heroku Command Line Interface (CLI)
27/11/2020 Continuous Delivery 86
87. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Log in
27/11/2020 Continuous Delivery 87
88. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Add a Heroku rsa key.
27/11/2020 Continuous Delivery 88
89. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Add Heroku gradle plugin
27/11/2020 Continuous Delivery 89
90. Blue Ocean Improve our pipeline
• Deploying to Heroku
• Configuring the last pipeline step
27/11/2020 Continuous Delivery 90
91. Blue Ocean Improve our pipeline
• Deploying to heroku
27/11/2020 Continuous Delivery 91
92. Blue Ocean Improve our pipeline
• Deploying to heroku
27/11/2020 Continuous Delivery 92
https://jadson-pipe-line-demo /calculator/sum?a=10&b=10.herokuapp.com
Your app name Service Parameters
94. Blue Ocean Improve our pipeline
• Final Jenkins File
27/11/2020 Continuous Delivery 94
95. References
• Fowler, M., Continuous Integration
https://martinfowler.com/articles/continuousIntegration.html,
Published at May 2006. Last access at Aug. 2020.
• P. M. Duvall. Continuous delivery: Patterns and
antipatterns in the software life cycle -
https://dzone.com/refcardz/continuous-delivery-patterns.
DZone refcard #145, 2011.
• Dashboard View Plugin
• https://plugins.jenkins.io/dashboard-view/. Last access at Aug.
2020
• Jenkinks User Documentation Home. Blue Ocean
https://www.jenkins.io/doc/book/blueocean/. Last access at
Aug. 2020
27/11/2020 Continuous Delivery 95
96. References
• Gradle build. https://gradle.org/releases/. Last access at
Aug. 2020.
• Build pipelines with Jenkins 2 by example.
https://bmuschko.com/blog/jenkins-build-pipeline/.
Published 30, 2017. Last access at Aug. 2020.
• Song, Matthew. Building a CI pipeline with Blue Ocean.
https://medium.com/ecs-digital/building-a-ci-pipeline-with-
blue-ocean-6bb9b02788eb. Jan, 2019. Last access at
Aug. 2020.
27/11/2020 Continuous Delivery 96
97. References
• Jenkins User Documentation Home. Using a Jenkinsfile.
https://www.jenkins.io/doc/book/pipeline/jenkinsfile/. Last
access at Aug. 2020.
• Lloyd, Caleb. Jenkins Screencast Part 1: Setup
Jenkins Blue Ocean with Docker.
https://boxboat.com/2017/06/20/jenkins-screencast-setup-
blue-ocean-docker/. Jun, 2017. Last access at Aug. 2020.
27/11/2020 Continuous Delivery 97