This document discusses how to scale Jenkins jobs as the number of jobs grows very large. It describes moving from individual Jenkins jobs to defining pipelines as code. The key steps are: 1) defining pipelines using a Job DSL plugin; 2) refactoring duplicated DSL code into reusable libraries; and 3) configuring pipelines through property files instead of code. This allows generating and securing pipelines for multiple projects through a seed job that is triggered by source code management hooks. The end result is "automation of automation" through self-service, secure, simple and extensible pipeline management.
ITB2019 Try This At Home: Building a Personal Docker Swarm - Matt ClementeOrtus Solutions, Corp
There’s no shortage of excitement surrounding Docker. But while many developers are familiar with containers in the abstract (they’ve installed Docker on their machines, watched online courses, and played with images locally), they’re unsure of the concrete steps needed to deploy CFML apps to Swarm.
Since it’s said that you learn more on your first day of production than all the time beforehand, why wait? In this session, we’ll take a API Mashup project from local development to replicated cloud deployment on a multi-node Swarm. Containerizing a small, fun application provides a great opportunity for acquiring real-world knowledge and hands-on experience. At each step in the process, I’ll share the practical approaches I’ve learned, with the goal of removing obstacles, both real and imagined, that prevent ColdFusion developers from using Swarm.
Modern Web Application Development Workflow - web2day 2014Stéphane Bégaudeau
The document discusses modern web application development workflows. It begins by describing past approaches with HTML, CSS, and JavaScript thrown together. It then introduces Node.js as a JavaScript runtime and describes how JavaScript tools like Yeoman, Bower, Grunt, and Gulp help structure projects and automate development tasks like dependency management, compilation, and testing. Specific tasks like linting, minification, image optimization are discussed. Chrome DevTools are also highlighted as useful for debugging, profiling, and testing applications on different devices. The document advocates that using these tools together provides an awesome development environment.
This document discusses using Docker and Bamboo for continuous integration and deployment pipelines. It provides examples of configuring Bamboo to build, test, and deploy Docker images and applications. It also describes using Docker Compose in Bamboo pipelines and customizing Bamboo virtual machines with Packer and Ansible to have Docker pre-installed.
This document discusses scaling a Jenkins master using Docker. It describes how the company Wyplay was using a single Jenkins master to manage over 500 jobs, which led to performance and reliability issues. It then explains how Wyplay set up multiple Docker containers running Jenkins masters to address these issues. It provides details on installing and configuring Jenkins in Docker containers, managing plugins, backups, and monitoring across multiple containerized masters. Finally, it discusses future directions like using orchestration tools and programmatically configuring Jenkins systems.
Getting out of the Job Jungle with JenkinsSonatype
Damien Corabouef, Multipharma, Clear2Pay
Implementing a CI/CD solution based on Jenkins has become very easy. Dealing with multiple feature, staging and release branches? Not so much. Having to handle that for multiple teams and multiple projects becomes a real challenge. This presentation shows a solution to scale to several thousands of jobs, used by dozens of different development and test teams, 24 hours a day, 7 days a week, on a worldwide schedule.
I will talk about the challenges that we’ve met, and how we’ve put in place a scalable and on-demand solution, secure and simple to use.
This is a real-life, real-scale story of making CI/CD a day-to-day reality by allowing development and test teams to consider automation as a simple and customisable service.
http://www.meetup.com/BruJUG/events/228994900/
During this session, you will presented a solution to the problem of scalability of continuous delivery in Jenkins, when your organisation has to deal with thousands of jobs, by introducing a self-service approach based on the "pipeline as code" principles.
This document discusses IzPack, an open source installation framework. It begins with an introduction and demo of IzPack's features. Some key features discussed include cross-platform compatibility, customizable installers, conditions and languages packs. The document then discusses IzPack's positioning as the only true cross-platform installer. It concludes with thoughts on open source software, including community growth over time and governance challenges.
ITB2019 Try This At Home: Building a Personal Docker Swarm - Matt ClementeOrtus Solutions, Corp
There’s no shortage of excitement surrounding Docker. But while many developers are familiar with containers in the abstract (they’ve installed Docker on their machines, watched online courses, and played with images locally), they’re unsure of the concrete steps needed to deploy CFML apps to Swarm.
Since it’s said that you learn more on your first day of production than all the time beforehand, why wait? In this session, we’ll take a API Mashup project from local development to replicated cloud deployment on a multi-node Swarm. Containerizing a small, fun application provides a great opportunity for acquiring real-world knowledge and hands-on experience. At each step in the process, I’ll share the practical approaches I’ve learned, with the goal of removing obstacles, both real and imagined, that prevent ColdFusion developers from using Swarm.
Modern Web Application Development Workflow - web2day 2014Stéphane Bégaudeau
The document discusses modern web application development workflows. It begins by describing past approaches with HTML, CSS, and JavaScript thrown together. It then introduces Node.js as a JavaScript runtime and describes how JavaScript tools like Yeoman, Bower, Grunt, and Gulp help structure projects and automate development tasks like dependency management, compilation, and testing. Specific tasks like linting, minification, image optimization are discussed. Chrome DevTools are also highlighted as useful for debugging, profiling, and testing applications on different devices. The document advocates that using these tools together provides an awesome development environment.
This document discusses using Docker and Bamboo for continuous integration and deployment pipelines. It provides examples of configuring Bamboo to build, test, and deploy Docker images and applications. It also describes using Docker Compose in Bamboo pipelines and customizing Bamboo virtual machines with Packer and Ansible to have Docker pre-installed.
This document discusses scaling a Jenkins master using Docker. It describes how the company Wyplay was using a single Jenkins master to manage over 500 jobs, which led to performance and reliability issues. It then explains how Wyplay set up multiple Docker containers running Jenkins masters to address these issues. It provides details on installing and configuring Jenkins in Docker containers, managing plugins, backups, and monitoring across multiple containerized masters. Finally, it discusses future directions like using orchestration tools and programmatically configuring Jenkins systems.
Getting out of the Job Jungle with JenkinsSonatype
Damien Corabouef, Multipharma, Clear2Pay
Implementing a CI/CD solution based on Jenkins has become very easy. Dealing with multiple feature, staging and release branches? Not so much. Having to handle that for multiple teams and multiple projects becomes a real challenge. This presentation shows a solution to scale to several thousands of jobs, used by dozens of different development and test teams, 24 hours a day, 7 days a week, on a worldwide schedule.
I will talk about the challenges that we’ve met, and how we’ve put in place a scalable and on-demand solution, secure and simple to use.
This is a real-life, real-scale story of making CI/CD a day-to-day reality by allowing development and test teams to consider automation as a simple and customisable service.
http://www.meetup.com/BruJUG/events/228994900/
During this session, you will presented a solution to the problem of scalability of continuous delivery in Jenkins, when your organisation has to deal with thousands of jobs, by introducing a self-service approach based on the "pipeline as code" principles.
This document discusses IzPack, an open source installation framework. It begins with an introduction and demo of IzPack's features. Some key features discussed include cross-platform compatibility, customizable installers, conditions and languages packs. The document then discusses IzPack's positioning as the only true cross-platform installer. It concludes with thoughts on open source software, including community growth over time and governance challenges.
Making the most of your gradle build - Devoxx PL 2017Andres Almiray
The document discusses various techniques for optimizing Gradle builds, including installing Gradle, initializing projects, fixing versions, handling multi-project builds, applying useful plugins, managing dependencies, improving code coverage reporting, and preparing for Java 9. Specific tips include using the Gradle wrapper to fix versions, aggregating coverage reports with JaCoCo, keeping all versions in gradle.properties, applying plugins instead of reinventing tasks, and using plugins like Versions, License, and Jdeps.
Makefiles in 2020 — Why they still matterSimon Brüggen
Make was created in 1976 by Stuart Feldman at Bell Labs to help build C programs. But how can this 40+ year old piece of software help us develop and maintain our ever-growing amount of cloud-based microservices?
Making cloud portability a practical reality (i pad)Nati Shalom
The term "cloud portability" is often considered a synonym for "Cloud API portability," which implies a series of misconceptions. If we break away from dogma, we can find that what we really looking for in cloud portability is Application portability between clouds which can be a vastly simpler requirement, as we can achieve application portability without settling on a common Cloud API. ..
The following presentation shows how I could use the ideas from this post and provide a practical cloud portability solution today using Cloudify and JClouds.
See details in this post:
http://natishalom.typepad.com/nati_shaloms_blog/2011/12/making-cloud-portability-a-practical-reality.html
zebra is an open source implementation as a successor of GNU Zebra and Quagga project. Together with openconfigd, it will work as data plane agnostic Network Operation Stack working with variable protocol / functional modules.
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
This DevOps Tutorial takes you through what is Configuration Management all about and basic concepts of Infrastructure as code. It also compares the four most widely used Configuration Management tools i.e. Chef, Puppet, Ansible and SaltStack.
Check our complete DevOps YouTube playlist here: http://goo.gl/O2vo13
DevOps Tutorial Blog Series here: https://goo.gl/P0zAfF
This document discusses GWT architectures and lessons learned from GWT development. It covers topics like structuring the UI with widgets, talking to servers, and shifting to rich internet applications. It provides tips for development like using MVP patterns, handling events, avoiding maintainability issues. It also discusses using GWT-RPC and generics for type-safe communications and batching commands for efficiency. Overall it focuses on architectural best practices, common problems, and solutions for building maintainable and performant GWT applications.
The document discusses the Job DSL plugin for Jenkins, which allows configuring Jenkins jobs using Groovy scripts instead of the graphical user interface. It describes how to create job templates in Groovy, process them with the Job DSL plugin to generate jobs, and configure properties and views. Using the plugin saves time compared to manual configuration and allows treating job definitions as code.
This document discusses IzPack, an open source installer toolkit for Java applications. It provides an outline and overview of IzPack features such as cross-platform compatibility, a declarative XML-based descriptor format, compiler to build installers from descriptors, customizable GUI panels, and conditions and variables. The document demonstrates how to build an installer for GlassFish and highlights IzPack's history and community.
This document discusses different build tools including Ant, Maven, and Gradle. It provides examples of build files for each tool and compares their characteristics such as flexibility, conventions, dependencies management, and extensibility. Ant is described as very flexible but verbose and complex to write and maintain. Maven enforces conventions but has a rigid structure. Gradle combines flexibility, conventions, and extensibility through its Groovy DSL.
PostgreSQL 12: What is coming up?, Enterprise Postgres DayEDB
This document provides an agenda for discussing new features in PostgreSQL 12. It begins with introductions and thanks, then outlines the following topics: JIT compilation improvements, psql client improvements, new DBA features like SKIP_LOCKED for VACUUM and ANALYZE, partitioning improvements including partition pruning and faster COPY, indexing changes, SQL features, and an advanced server postscript.
The document introduces the Play Framework version 2.1 and highlights its key features. It demonstrates building a sample application in Scala using Play's reactive, non-blocking architecture. Key features discussed include Play's built-in support for Scala, reactive programming, JSON APIs, routing, templates, and testing.
Javaone - Gradle: Harder, Better, Stronger, Faster Andres Almiray
This document discusses Gradle, an open-source build automation tool for multi-language software development. It provides an overview of what Gradle is, why developers use it, and how to get started with basic Gradle builds. Key points include that Gradle uses conventions over configuration, supports multiple programming languages and build scenarios, and provides features like caching and daemonization for faster, more reproducible builds.
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsAffan Basalamah
This document provides a 3-step process for documenting a network in a sane and healthy way:
1. Draw network diagrams using tools like Visio or OmniGraffle to depict the physical, logical, and application layers. Store the diagrams online or in a wiki for easy access.
2. Backup network configurations regularly using tools like RANCID or Oxidize, which can save configurations to a repository and detect changes between backups.
3. Use IP address management (IPAM) tools like Netbox to document IP assignments, devices, rack locations, and network connections. This provides a single source of truth for the physical and logical network resources.
Following these steps provides visibility into
This document provides a 3-step process for documenting a network in a sane and healthy way:
1. Draw network diagrams using tools like Visio or OmniGraffle to depict the physical, logical, and application layers. Store the diagrams online or with network monitoring tools.
2. Backup network configurations regularly using tools like RANCID or Oxidize, which can save configurations to repositories and alert administrators of changes via email or messaging.
3. Use IP address management (IPAM) tools like Netbox to document IP prefixes, devices, rack locations, and network links. This provides a single source of truth for the physical and logical network resources.
Properly documenting the network
Capistrano is an open source tool that automates deploying web applications to multiple servers. It allows deploying new versions of an application in a transactional way that can rollback changes. Capistrano handles tasks like copying code, database migrations, and restarting services. It works by creating a new release directory on servers, pulling code from a repository, and symlinking the current version. Capistrano configurations can define stages, servers, and custom tasks for deploying applications.
This document discusses keeping track of CI/CD pipelines and summarizes the Ontrack tool. Ontrack provides a central point of knowledge to extract customized information from CI/CD pipelines, including projects, branches, builds, validations, and promotions. It integrates with tools like Jenkins, Artifactory, and InfluxDB. Ontrack can be customized through extensions to collect additional metadata and implement custom functionality.
Making the most of your gradle build - BaselOne 2017Andres Almiray
This document provides a summary of 15 tips for making the most of your Gradle build. It discusses topics like installing Gradle, initializing projects, fixing versions, invoking builds, multi-project setups, build file etiquette, applying useful plugins, keeping versions in one place, dependency convergence, supplying more information to developers, incremental builds, aggregating coverage reports, targeting Java versions, preparing for Java 9, and useful Gradle plugins. Each topic has 1-2 paragraphs of explanation and code examples.
Making the most of your gradle build - vJUG24 2017Andres Almiray
This document provides an overview of tips and best practices for optimizing Gradle builds, including installing Gradle, initializing projects, fixing versions, invoking builds, multi-project setups, build file organization, applying useful plugins, aggregating coverage reports, handling dependencies, and preparing for Java 9. It discusses topics like incremental builds, manifest entries, compiler warnings, and evaluating JDK versions. The document recommends plugins, libraries, and tools to improve builds.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Making the most of your gradle build - Devoxx PL 2017Andres Almiray
The document discusses various techniques for optimizing Gradle builds, including installing Gradle, initializing projects, fixing versions, handling multi-project builds, applying useful plugins, managing dependencies, improving code coverage reporting, and preparing for Java 9. Specific tips include using the Gradle wrapper to fix versions, aggregating coverage reports with JaCoCo, keeping all versions in gradle.properties, applying plugins instead of reinventing tasks, and using plugins like Versions, License, and Jdeps.
Makefiles in 2020 — Why they still matterSimon Brüggen
Make was created in 1976 by Stuart Feldman at Bell Labs to help build C programs. But how can this 40+ year old piece of software help us develop and maintain our ever-growing amount of cloud-based microservices?
Making cloud portability a practical reality (i pad)Nati Shalom
The term "cloud portability" is often considered a synonym for "Cloud API portability," which implies a series of misconceptions. If we break away from dogma, we can find that what we really looking for in cloud portability is Application portability between clouds which can be a vastly simpler requirement, as we can achieve application portability without settling on a common Cloud API. ..
The following presentation shows how I could use the ideas from this post and provide a practical cloud portability solution today using Cloudify and JClouds.
See details in this post:
http://natishalom.typepad.com/nati_shaloms_blog/2011/12/making-cloud-portability-a-practical-reality.html
zebra is an open source implementation as a successor of GNU Zebra and Quagga project. Together with openconfigd, it will work as data plane agnostic Network Operation Stack working with variable protocol / functional modules.
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
This DevOps Tutorial takes you through what is Configuration Management all about and basic concepts of Infrastructure as code. It also compares the four most widely used Configuration Management tools i.e. Chef, Puppet, Ansible and SaltStack.
Check our complete DevOps YouTube playlist here: http://goo.gl/O2vo13
DevOps Tutorial Blog Series here: https://goo.gl/P0zAfF
This document discusses GWT architectures and lessons learned from GWT development. It covers topics like structuring the UI with widgets, talking to servers, and shifting to rich internet applications. It provides tips for development like using MVP patterns, handling events, avoiding maintainability issues. It also discusses using GWT-RPC and generics for type-safe communications and batching commands for efficiency. Overall it focuses on architectural best practices, common problems, and solutions for building maintainable and performant GWT applications.
The document discusses the Job DSL plugin for Jenkins, which allows configuring Jenkins jobs using Groovy scripts instead of the graphical user interface. It describes how to create job templates in Groovy, process them with the Job DSL plugin to generate jobs, and configure properties and views. Using the plugin saves time compared to manual configuration and allows treating job definitions as code.
This document discusses IzPack, an open source installer toolkit for Java applications. It provides an outline and overview of IzPack features such as cross-platform compatibility, a declarative XML-based descriptor format, compiler to build installers from descriptors, customizable GUI panels, and conditions and variables. The document demonstrates how to build an installer for GlassFish and highlights IzPack's history and community.
This document discusses different build tools including Ant, Maven, and Gradle. It provides examples of build files for each tool and compares their characteristics such as flexibility, conventions, dependencies management, and extensibility. Ant is described as very flexible but verbose and complex to write and maintain. Maven enforces conventions but has a rigid structure. Gradle combines flexibility, conventions, and extensibility through its Groovy DSL.
PostgreSQL 12: What is coming up?, Enterprise Postgres DayEDB
This document provides an agenda for discussing new features in PostgreSQL 12. It begins with introductions and thanks, then outlines the following topics: JIT compilation improvements, psql client improvements, new DBA features like SKIP_LOCKED for VACUUM and ANALYZE, partitioning improvements including partition pruning and faster COPY, indexing changes, SQL features, and an advanced server postscript.
The document introduces the Play Framework version 2.1 and highlights its key features. It demonstrates building a sample application in Scala using Play's reactive, non-blocking architecture. Key features discussed include Play's built-in support for Scala, reactive programming, JSON APIs, routing, templates, and testing.
Javaone - Gradle: Harder, Better, Stronger, Faster Andres Almiray
This document discusses Gradle, an open-source build automation tool for multi-language software development. It provides an overview of what Gradle is, why developers use it, and how to get started with basic Gradle builds. Key points include that Gradle uses conventions over configuration, supports multiple programming languages and build scenarios, and provides features like caching and daemonization for faster, more reproducible builds.
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsAffan Basalamah
This document provides a 3-step process for documenting a network in a sane and healthy way:
1. Draw network diagrams using tools like Visio or OmniGraffle to depict the physical, logical, and application layers. Store the diagrams online or in a wiki for easy access.
2. Backup network configurations regularly using tools like RANCID or Oxidize, which can save configurations to a repository and detect changes between backups.
3. Use IP address management (IPAM) tools like Netbox to document IP assignments, devices, rack locations, and network connections. This provides a single source of truth for the physical and logical network resources.
Following these steps provides visibility into
This document provides a 3-step process for documenting a network in a sane and healthy way:
1. Draw network diagrams using tools like Visio or OmniGraffle to depict the physical, logical, and application layers. Store the diagrams online or with network monitoring tools.
2. Backup network configurations regularly using tools like RANCID or Oxidize, which can save configurations to repositories and alert administrators of changes via email or messaging.
3. Use IP address management (IPAM) tools like Netbox to document IP prefixes, devices, rack locations, and network links. This provides a single source of truth for the physical and logical network resources.
Properly documenting the network
Capistrano is an open source tool that automates deploying web applications to multiple servers. It allows deploying new versions of an application in a transactional way that can rollback changes. Capistrano handles tasks like copying code, database migrations, and restarting services. It works by creating a new release directory on servers, pulling code from a repository, and symlinking the current version. Capistrano configurations can define stages, servers, and custom tasks for deploying applications.
This document discusses keeping track of CI/CD pipelines and summarizes the Ontrack tool. Ontrack provides a central point of knowledge to extract customized information from CI/CD pipelines, including projects, branches, builds, validations, and promotions. It integrates with tools like Jenkins, Artifactory, and InfluxDB. Ontrack can be customized through extensions to collect additional metadata and implement custom functionality.
Making the most of your gradle build - BaselOne 2017Andres Almiray
This document provides a summary of 15 tips for making the most of your Gradle build. It discusses topics like installing Gradle, initializing projects, fixing versions, invoking builds, multi-project setups, build file etiquette, applying useful plugins, keeping versions in one place, dependency convergence, supplying more information to developers, incremental builds, aggregating coverage reports, targeting Java versions, preparing for Java 9, and useful Gradle plugins. Each topic has 1-2 paragraphs of explanation and code examples.
Making the most of your gradle build - vJUG24 2017Andres Almiray
This document provides an overview of tips and best practices for optimizing Gradle builds, including installing Gradle, initializing projects, fixing versions, invoking builds, multi-project setups, build file organization, applying useful plugins, aggregating coverage reports, handling dependencies, and preparing for Java 9. It discusses topics like incremental builds, manifest entries, compiler warnings, and evaluating JDK versions. The document recommends plugins, libraries, and tools to improve builds.
Similar to Belgium jenkins-meetup-job-jungle-0.1 (20)
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Mobile App Development Company In Noida | Drona Infotech
Belgium jenkins-meetup-job-jungle-0.1
1. JOB SCALABILITY IN JENKINS
GETTING OUT OF THE JOB JUNGLE
JBAM - June 1st 2017 - @DamienCoraboeuf
2. WHO AM I?
▸ Damien Coraboeuf (@DamienCoraboeuf)
▸ Born to Java in 1996
▸ Working in Continuous Delivery since 2008
▸ Automating pipelines @ FIS
I’ll be your guide on this journey
6. THE MAP Short introduction to Jenkins
Birth of a pipeline
Manual mode
The Job DSL
Branching and its consequences
Pipeline as code
Pipeline as not code
Automation of automation
We want to get there
Look, there is another
beach here!
Do not go there!
💀
There are traps here!
💀
9. JENKINS - JOB CONFIGURATION
Let’s get some sources…
Let’s run some build…
Let’s trigger another job…
10. PIPELINES
▸ Defining jobs
▸ Linking them together
▸ Running them in parallel or in sequence
▸ Some triggers are automatic, other ones are manual
BUILD
DEPLOY ENV 1
DEPLOY ENV 2
DEPLOY ENV 3
PUBLICATION RELEASE
12. SO FAR SO GOOD
“Look Ma, I’ve built a pipeline!”
“Lovely. Now, build one for your sister.”
13. THE STORY
Product A
Product B
Project C
Maintenance 11.8
Maintenance 11.9
Maintenance 11.10
Maintenance 7.2
Maintenance 8.0
Maintenance 5.0
Check
Publication
WAS JBoss …
Promotion for QA
QAWAS QAJBoss …
Promotion for NFT
Sonar Fortify Perf
Promotion for delivery
Delivery
Auto Manual
Pipeline
Products & Projects Branches
…
22. JOB DSL PLUGIN - SEED JOB
▸ DSL based generation done from a job
▸ Can generate and/or update other jobs
▸ Can even run while jobs are running :)
SEED JOB GENERATED JOB(S)
DSL SCRIPT
Generates
Accesses (SCM or inline)
GENERATED JOB(S)
GENERATED JOB(S)
23. PIPELINE EVOLUTION
▸ One Seed DSL job is all very good but…
▸ Pipeline evolves with the code
Builds
this code
Builds
this code
W
ill fail for this code
New platform being
added
Job for the
new platform
24. BRANCHING
▸ One Seed DSL job is all very good but…
▸ Different pipelines for different
branches
develop
release/2.0
Pipelines for releases
might be more complex
Release job
25. PIPELINE VERSIONS
▸ Where do we put the DSL script?
develop
release/2.0
Pipelines for releases
might be more complex
DSL.GROOVY
DSL.GROOVY
DSL.GROOVY
26. PIPELINE AS CODE
▸ Your pipeline is linked to the code it builds
▸ Define your pipeline in your code
Project
src
pom.xml
job-dsl-script.groovy
27. PIPELINE CODE DUPLICATION
▸ We can now generate a pipeline for any branch, any commit
▸ It evolves with your branches and is merged like any other piece of code
▸ That’s good enough for 1 project
▸ With several (many) projects, the level of DSL code duplication explodes!
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
30. PIPELINE LIBRARIES TO THE RESCUE
▸ Pipeline is code
▸ Reuse of code through versioned libraries
DEVELOP FEATURE/BIG RELEASE/1.0
DSL SCRIPT DSL SCRIPT DSL SCRIPT
PIPELINE DSL LIBRARY
1.1 1.0
Normal project
Can be tested
Can be released
31. PIPELINE DSL LIBRARY B
PIPELINE LIBRARIES TO THE RESCUE
▸ DSL libraries as code libraries
DEVELOP FEATURE/BIG DEVELOP
DSL SCRIPT DSL SCRIPT DSL SCRIPT
PIPELINE DSL LIBRARY A
1.1 1.0
COMMON DSL LIBRARY
1.0
Dependencies
2.0
32. ARE WE DONE?
▸ We can describe a pipeline using a DSL
▸ The pipeline is defined together with the code it builds
▸ The DSL can use libraries to reduce code duplication
?
33. NOT QUITE…
▸ This is not enough to really scale
▸ We still have to write some DSL
▸ Self service ✔
▸ Security ✘
▸ Simplicity ✘
▸ Extensibility ✔
34. PIPELINE AS “NOT CODE”
▸ Let’s describe the pipeline using a properties file
▸ Which pipeline library & which version
▸ Configuration properties - specific to the library
▸ Property file format ubiquitous
▸ No code running on the master
▸ Can be used for reporting on all the pipelines!
36. PIPELINE AS… PROPERTIES
SEED JOB
SCM Repository
Jobs
Gets the
seed.properties
Gets the pipeline
library version
Configures and runs
the pipeline library
38. PIPELINE AS… METADATA
▸ The seed.properties files provide a wonderful way to
do reporting on all projects and branches
DEVELOP FEATURE/BIG RELEASE/1.0
SEED SEED SEED
DEVELOP FEATURE/NEW RELEASE/3.4
SEED SEED SEED
seed.properties seed.properties
“Give me all branches using JDK 6”
“Give me all projects having no SonarQube scan”
“…”
39. SEED PLUGIN
▸ Putting everything together
▸ https://github.com/jenkinsci/seed-plugin
▸ Allows to generate:
▸ projects folders
▸ branches pipelines
▸ based on seed files (properties and/or DSL)
▸ integration with hooks
42. PIPELINE SECURITY
SEED
A FOLDER
A GENERATOR
BOOTSTRAPPING
A team
Jenkins team
B team
GENERATION
A BRANCHES
A PIPELINES
B FOLDER
B GENERATOR
B BRANCHES
B PIPELINES
43. GENERATION - HOW IT LOOKS LIKE
BOOTSTRAPPING
GENERATION
GENERATION
45. HOOKS
▸ Generations can be automated using hooks at SCM level
▸ Support for GitHub, BitBucket, generic HTTP calls (for SVN)
▸ Configurable. For example:
BRANCH CREATION
SCM EVENT
Seed plug-in
COMMIT
SEED CHANGED
BRANCH DELETION
PIPELINE EVENT
Generation
Triggers the pipeline
Regenerates the pipeline
Deletes the pipeline
47. WHAT DID WE JUST ACHIEVE?
▸ Automation of automation
▸ Self service ✔
▸ Pipeline automation from SCM
▸ Security ✔
▸ Project level authorisations
▸ No code on the master
▸ Simplicity ✔
▸ Property files
▸ Extensibility ✔
▸ Pipeline libraries
▸ Direct job DSL still possible
49. SEED & PIPELINE PLUGIN
▸ The Seed plugin will keep working
▸ It can already generate pipeline jobs (Job DSL)
▸ But overlap of functionalities
Branch pipelines
Pipeline as code
SEED
PIPELINE
Hook integration
Pipeline as properties
Community & support
Pipeline libraries
Pipeline script library
50. SEED IN PIPELINE PLUGIN
▸ The Seed plugin as extension of the Pipeline plugin
Branch pipelines
Pipeline as code
SEED
PIPELINE
Hook integrationPipeline as properties
Community & support
Pipeline libraries
Pipeline script library
51. THANKS YOU!
Thanks to the
Jenkins
Belgium Area
Meetup
Contact:
▸ http://nemerosa.com
▸ @DamienCoraboeuf