This document discusses how to automate application container delivery with CI/CD and DevOps. It describes building and deploying container images using Source-to-Image (S2I) to deploy source code or application binaries. OpenShift automates deploying application containers across hosts via Kubernetes. The document also discusses continuous integration, continuous delivery, and how OpenShift supports CI/CD with features like Jenkins-as-a-Service and OpenShift Pipelines.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
This lightning talk will show you how simple it is to apply CI to the creation of Docker images, ensuring that each time the source is changed, a new image is created, tagged, and published. I will then show how easy it is to then deploy containers from this image and run tests to verify the behaviour.
Pimp your jenkins platform with docker - Devops.com 2015/11CloudBees
With this webinar, you will learn in this webinar how Jenkins administrators can solve the headaches of customizing slaves (installing build tools...) with Docker enabled slaves and configure the build environment inside the Docker image.
Jenkins Workflow Groovy Script
https://gist.github.com/cyrille-leclerc/19b37477897f87b143e2
Sample App https://github.com/cyrille-leclerc/game-of-life
Webinar presented by Cyrille Le Clerc for devops.com
http://devops.com/2015/10/27/webinar-pimp-your-jenkins-platform-with-docker/
The Jenkins open source continuous integration server now provides a “pipeline” scripting language which can define jobs that persist across server restarts, can be stored in a source code repository and can be versioned with the source code they are building. By defining the build and deployment pipeline in source code, teams can take full control of their build and deployment steps. The Docker project provides lightweight containers and a system for defining and managing those containers. The Jenkins pipeline and Docker containers are a great combination to improve the portability, reliability, and consistency of your build process.
This session will demonstrate Jenkins and Docker in the journey from continuous integration to DevOps.
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
The slides from Steve Hoffman and Rick Fast's presentation at DockerCon SF 2015 -
Talk Description:
In this talk we will discuss how we enabled decomposition of one of our 250+ system components into a continously deployed microservice cluster.
This includes building a standardized Docker server composed of various local companion services along side the Docker daemon including: dynamic service discovery via Consul, a log relay to a centralized Elasticsearch cluster, and forwarding/batching of Dropwizard metrics to Graphite.
Building on this we'll cover our Jenkins driven automated pipeline for building Docker images and rolling deployments via Ansible using static placement on existing infrastructure while prototyping dynamic placement using Docker + Apache Mesos.
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove” M. Fowler
Jenkins and Docker are cool technologies. Here's how they serve in a continuous integration based process and how they could be exploited to deliver new version of the same software.
The slides present the whole process along with real code snippets.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
This lightning talk will show you how simple it is to apply CI to the creation of Docker images, ensuring that each time the source is changed, a new image is created, tagged, and published. I will then show how easy it is to then deploy containers from this image and run tests to verify the behaviour.
Pimp your jenkins platform with docker - Devops.com 2015/11CloudBees
With this webinar, you will learn in this webinar how Jenkins administrators can solve the headaches of customizing slaves (installing build tools...) with Docker enabled slaves and configure the build environment inside the Docker image.
Jenkins Workflow Groovy Script
https://gist.github.com/cyrille-leclerc/19b37477897f87b143e2
Sample App https://github.com/cyrille-leclerc/game-of-life
Webinar presented by Cyrille Le Clerc for devops.com
http://devops.com/2015/10/27/webinar-pimp-your-jenkins-platform-with-docker/
The Jenkins open source continuous integration server now provides a “pipeline” scripting language which can define jobs that persist across server restarts, can be stored in a source code repository and can be versioned with the source code they are building. By defining the build and deployment pipeline in source code, teams can take full control of their build and deployment steps. The Docker project provides lightweight containers and a system for defining and managing those containers. The Jenkins pipeline and Docker containers are a great combination to improve the portability, reliability, and consistency of your build process.
This session will demonstrate Jenkins and Docker in the journey from continuous integration to DevOps.
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
The slides from Steve Hoffman and Rick Fast's presentation at DockerCon SF 2015 -
Talk Description:
In this talk we will discuss how we enabled decomposition of one of our 250+ system components into a continously deployed microservice cluster.
This includes building a standardized Docker server composed of various local companion services along side the Docker daemon including: dynamic service discovery via Consul, a log relay to a centralized Elasticsearch cluster, and forwarding/batching of Dropwizard metrics to Graphite.
Building on this we'll cover our Jenkins driven automated pipeline for building Docker images and rolling deployments via Ansible using static placement on existing infrastructure while prototyping dynamic placement using Docker + Apache Mesos.
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove” M. Fowler
Jenkins and Docker are cool technologies. Here's how they serve in a continuous integration based process and how they could be exploited to deliver new version of the same software.
The slides present the whole process along with real code snippets.
Simply your Jenkins Projects with Docker Multi-Stage BuildsEric Smalling
This is a a talk I presented at Jenkins World 2017.
Abstract:
When building Docker images we often use multiple build steps and Dockerfiles to keep the image size down. Using multi-stage Docker builds we can eliminate this complexity, bringing all of the instructions back into a single Dockerfile while still keeping those images nice and small.
One of the most challenging things about building images is keeping the image size down. Each instruction in the Dockerfile adds a layer to the image, and you need to remember to clean up any artifacts you don’t need before moving on to the next layer. To write a really efficient Dockerfile, you have traditionally needed to employ shell tricks and other logic to keep the layers as small as possible and to ensure that each layer has the artifacts it needs from the previous layer and nothing else. It was actually very common to have multiple Jenkins pipeline steps and/or projects with unique Dockerfiles for different elements of the final build. Maintaining multiple sets of instructions to build your image is complicated and hard to maintain.
With multi-stage builds, you use multiple FROM statements in your Dockerfile. Each FROM instruction can use a different base, and each of them begins a new stage of the build. You can selectively copy artifacts from one stage to another, leaving behind everything you don’t want in the final image and simplifying the both the Dockerfile and Jenkins configurations needed to produce your images.
Taking Docker to Production: What You Need to Know and DecideDocker, Inc.
DevOps in the Real World is far from perfect, yet we all dream of that amazing auto-healing fully-automated CI/CD micro-service infrastructure that we'll have "someday." But until then, how can you really start using containers today, and what decisions do you need to make to get there? This session is designed for practitioners who are looking for ways to get started now with Docker and Swarm in production. This is not a Docker 101, but rather it's to help you be successful on your way to Dockerizing your production systems. Attendees will get tactics, example configs, real working infrastructure designs, and see the (sometimes messy) internals of Docker in production today.
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...Eric Smalling
Slides from my 2.5 hour hands-on workshop covering Docker basics, the Docker MTA program and how it applies to legacy Java applications and some tips on running those apps in containers in production.
Building kubectl plugins with Quarkus | DevNation Tech TalkRed Hat Developers
We all know how flexible Kubernetes extensions can be - Tekton and Knative are examples. But did you know it's also pretty easy to extend kubectl, the Kubernetes superstar CLI? In this session we see how a kubectl plugin is designed and then from scratch, we will build our own plugin using Quarkus. That will give us the opportunity to discover the command mode of Quarkus, rediscover how native compilation can create super fast binaries, and see how the Kubernetes-client extensions make it super easy to interact with a Kubernetes cluster.
Joomla Continuous Delivery with Docker on Joomla Day Bangkok 2014.
I did demo to show how it looks like on that session too. In case of anyone interested on how I did it. Please check README.md on my repository here https://git.winginfotech.net/continuous-delivery/cd-joomla/tree/master
For whoever wants to see the real demo. Please see it here https://www.youtube.com/watch?v=nFzulhEt3As at the minute around after 19.30. Demo session in Thai and hope there will be a chance that I can do presentation in English soon :)
What is Docker and why should you care? A Docker container is like a
lightweight Virtual Machine. It gives you the benefits of a virtual machine,
isolation of your application, without the drawbacks, having to ship an entire
operating system with your application, slow startup time, and difficult
interaction with the host.
In this presentation you will learn why Docker and containerization is the
future of DevOps and how to use it efficiently. You will learn how to build,
run, and link containers, and what volumes are and what they are used for.
You will also learn about some of the many orchestration solutions that exists
for managing a cluster of containers, both locally and in the cloud.
In celebration of the launch of the Knative Cookbook, we will run a fast-paced live code demonstration of the coolest Knative-based techniques that we can imagine that include Kafka and Kamel.
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
Continuous Integration (CI) is one of the most important tenets of agile practices. And Continuous Delivery (CD) is impossible without continuous integration. All practices are good and enhance productivity when other good practices and tools back them. For example CI & CD without proper automation test cases can be a killer. It kills the team productivity and puts deliver on risk. Via this session I will try to share my experiences of how CI and CD can be done in optimized fashion (specifically for feature branch based development approach)
We will discuss the best practices and ways of ensuring proper CI and CD in feature branch based development approach.
I will showcase an automated Jenkins based setup, which is geared to ensure that all feature branches and master remain in cohesive harmony.
At the end we will conclude on what are the essential components for ensuring successful CI and CD. We will also discuss what are the associated must haves to make it a success.
Take away for participants
1. Understanding of CI and CD and how CI can lead to CD.
2. How a devops engineer can leverage Jenkins and scripting to automate the CI and CD for feature branch based development.
3. Demo of CI setup devloped on Jenkins.
4. Generic understanding and Q&A related to CI and CD.
5. Learning of how docker can be used in such scenarios.
Session at the IndicThreads.com Confence held in Pune India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Docker Container As A Service
X11 Linux apps on mac in a container.
In container Java development with STS or Eclipse in a container.
Docker UCP and swarm load balancing with Interlock.
Simply your Jenkins Projects with Docker Multi-Stage BuildsEric Smalling
This is a a talk I presented at Jenkins World 2017.
Abstract:
When building Docker images we often use multiple build steps and Dockerfiles to keep the image size down. Using multi-stage Docker builds we can eliminate this complexity, bringing all of the instructions back into a single Dockerfile while still keeping those images nice and small.
One of the most challenging things about building images is keeping the image size down. Each instruction in the Dockerfile adds a layer to the image, and you need to remember to clean up any artifacts you don’t need before moving on to the next layer. To write a really efficient Dockerfile, you have traditionally needed to employ shell tricks and other logic to keep the layers as small as possible and to ensure that each layer has the artifacts it needs from the previous layer and nothing else. It was actually very common to have multiple Jenkins pipeline steps and/or projects with unique Dockerfiles for different elements of the final build. Maintaining multiple sets of instructions to build your image is complicated and hard to maintain.
With multi-stage builds, you use multiple FROM statements in your Dockerfile. Each FROM instruction can use a different base, and each of them begins a new stage of the build. You can selectively copy artifacts from one stage to another, leaving behind everything you don’t want in the final image and simplifying the both the Dockerfile and Jenkins configurations needed to produce your images.
Taking Docker to Production: What You Need to Know and DecideDocker, Inc.
DevOps in the Real World is far from perfect, yet we all dream of that amazing auto-healing fully-automated CI/CD micro-service infrastructure that we'll have "someday." But until then, how can you really start using containers today, and what decisions do you need to make to get there? This session is designed for practitioners who are looking for ways to get started now with Docker and Swarm in production. This is not a Docker 101, but rather it's to help you be successful on your way to Dockerizing your production systems. Attendees will get tactics, example configs, real working infrastructure designs, and see the (sometimes messy) internals of Docker in production today.
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...Eric Smalling
Slides from my 2.5 hour hands-on workshop covering Docker basics, the Docker MTA program and how it applies to legacy Java applications and some tips on running those apps in containers in production.
Building kubectl plugins with Quarkus | DevNation Tech TalkRed Hat Developers
We all know how flexible Kubernetes extensions can be - Tekton and Knative are examples. But did you know it's also pretty easy to extend kubectl, the Kubernetes superstar CLI? In this session we see how a kubectl plugin is designed and then from scratch, we will build our own plugin using Quarkus. That will give us the opportunity to discover the command mode of Quarkus, rediscover how native compilation can create super fast binaries, and see how the Kubernetes-client extensions make it super easy to interact with a Kubernetes cluster.
Joomla Continuous Delivery with Docker on Joomla Day Bangkok 2014.
I did demo to show how it looks like on that session too. In case of anyone interested on how I did it. Please check README.md on my repository here https://git.winginfotech.net/continuous-delivery/cd-joomla/tree/master
For whoever wants to see the real demo. Please see it here https://www.youtube.com/watch?v=nFzulhEt3As at the minute around after 19.30. Demo session in Thai and hope there will be a chance that I can do presentation in English soon :)
What is Docker and why should you care? A Docker container is like a
lightweight Virtual Machine. It gives you the benefits of a virtual machine,
isolation of your application, without the drawbacks, having to ship an entire
operating system with your application, slow startup time, and difficult
interaction with the host.
In this presentation you will learn why Docker and containerization is the
future of DevOps and how to use it efficiently. You will learn how to build,
run, and link containers, and what volumes are and what they are used for.
You will also learn about some of the many orchestration solutions that exists
for managing a cluster of containers, both locally and in the cloud.
In celebration of the launch of the Knative Cookbook, we will run a fast-paced live code demonstration of the coolest Knative-based techniques that we can imagine that include Kafka and Kamel.
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
Continuous Integration (CI) is one of the most important tenets of agile practices. And Continuous Delivery (CD) is impossible without continuous integration. All practices are good and enhance productivity when other good practices and tools back them. For example CI & CD without proper automation test cases can be a killer. It kills the team productivity and puts deliver on risk. Via this session I will try to share my experiences of how CI and CD can be done in optimized fashion (specifically for feature branch based development approach)
We will discuss the best practices and ways of ensuring proper CI and CD in feature branch based development approach.
I will showcase an automated Jenkins based setup, which is geared to ensure that all feature branches and master remain in cohesive harmony.
At the end we will conclude on what are the essential components for ensuring successful CI and CD. We will also discuss what are the associated must haves to make it a success.
Take away for participants
1. Understanding of CI and CD and how CI can lead to CD.
2. How a devops engineer can leverage Jenkins and scripting to automate the CI and CD for feature branch based development.
3. Demo of CI setup devloped on Jenkins.
4. Generic understanding and Q&A related to CI and CD.
5. Learning of how docker can be used in such scenarios.
Session at the IndicThreads.com Confence held in Pune India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Docker Container As A Service
X11 Linux apps on mac in a container.
In container Java development with STS or Eclipse in a container.
Docker UCP and swarm load balancing with Interlock.
The most important element in Jenkins architecture is the Jenkins slave. It is a java executable running on a remote machine that hear the requests from the Jenkins master instance .
Read more...
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseVMware Tanzu
Concourse is an open source continuous integration (CI) system designed for agile development teams. It supports developers that practice test-driven development and continuous delivery (CD) by automating a teams build-to-release process inclusive of all automated testing.
Concourse provides dependable results for each build run. It allows agile development teams to deliver business value at a much higher velocity. It allows teams to treat every code commit as if it’s about to be deployed to production.
In this webinar, we’ll talk about how teams’ practice agile development in relation to developing, testing and deploying apps in Cloud Foundry. We’ll also cover the role that Concourse plays in aiding high velocity delivery of applications.
Our agenda includes:
- What is CI / CD and how do these practices fit into Pivotal's development practices
- Overview of Concourse and how it differs from other CI / CD systems
- Why Pipelines are useful for continuously delivering apps to Pivotal Cloud Foundry
- Why containers are useful for continuously delivering apps to Pivotal Cloud Foundry
- Examples of how these concepts work in practice
- How to get started using Concourse to continuously deliver value
Presenters : Greg Chase, James Ma, Topher Bullock, Pivotal
CNCF: Cross-cloud CI v1.0.0 Dashboard Release 2018-01-26Vulk Coop
The Cross-cloud CI team has released the CNCF CI Status Dashboard v1.0.0 and the CI System v2.1.0.
The CNCF Cross-cloud Dashboard displays the interoperability of active CNCF projects, for the latest commit on Stable and Head, for all supported cloud providers. The Dashboard is updated daily at 3AM Eastern Time.
This presentation is an introduction to the Cross-cloud CI project
In this session, we will learn about Teamcity CI Server. We will look at the different options available and how we can set a CI pipeline using Teamcity.
Microsoft recently released Azure DevOps, a set of services that help developers and IT ship software faster, and with higher quality. These services cover planning, source code, builds, deployments, and artifacts. One of the great things about Azure DevOps is that it works great for any app and on any platform regardless of frameworks.
In this session, I will provide a hands on workshop guiding you through getting started with Azure Pipelines to build your application. Using continuous integration and deployment processes, you will leave with clear understanding and skills to get your applications up and running quickly in Azure DevOps and see the full benefits that CI/CD can bring to your organization.
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous integration and delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using a set of application lifecycle management tools from AWS: the newly announced AWS CodeBuild service, AWS CodePipeline, and AWS CodeDeploy.
Learning Objectives:
• Understand the concepts of DevOps, continuous integration, and continuous delivery
• Learn about Amazon’s DevOps practices
• Hear an overview of how to build a continuous integration and continuous delivery workflow using the combination of CodeBuild, CodePipeline, and CodeDeploy
Everyone loves Agile and the way it is replacing all the older methodologies and development models with a streamlined and sustainable system for faster delivery cycles. However, the ever-prevailing Manual testing practice has always kept the QA teams from entirely adopting Continuous Integration and Continuous Delivery, making Agility unreachable. Fortunately, tools like Jenkins help reach the goals of the CI/CD pipeline, i.e., to maintain a continuous flow of software updates in production and shorter release cycles at reduced costs.
The Cross-cloud CI team has released the CNCF CI Status Dashboard v1.0.0 and the CI System v2.1.0.
The CNCF Cross-cloud Dashboard displays the interoperability of active CNCF projects, for the latest commit on Stable and Head, for all supported cloud providers. The Dashboard is updated daily at 3AM Eastern Time.
This presentation is an introduction to the Cross-cloud CI project.
Similar to Automate App Container Delivery with CI/CD and DevOps (20)
Knative makes Developers Incredible on ServerlessDaniel Oh
What makes your developers incredible to develop, deploy, manage modern serverless workload? With Knative, developers can create and deploy their own serverless on Kubernetes where they want then develop your functions with your language of choice. For example, OpenWhisk has rich support for your preferred serverless apps such as Python, Java. If those languages don't suit your needs, you can deploy your own app container to act as your function. Because the containers only spin up for a function when in use, resource usage can be minimized during idle times.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
5. Developers write code using
existing development tools
such as Maven, NPM, Bower,
PIP, Dockerfile and Git and
then access the OpenShift
Web, CLI or IDE to create an
app from the code
DEPLOY SOURCE CODE WITH
SOURCE-TO-IMAGE (S2I)
codeGit
Repository
CODE
DEV
6. S2I combines source code
with a builder image
(language and application
runtimes) and stores the
resulting application image
in the image registry
DEPLOY SOURCE CODE WITH
SOURCE-TO-IMAGE (S2I)
codeGit
Repository
Source-to-Image
(S2I)
Container
Image
Image
Registry
BUILD
DEV
7. OpenShift automates the
deployment of application
containers across multiple
hosts via the Kubernetes.
Users can trigger
deployments, rollback,
configure A/B or other
custom deployments
DEPLOY SOURCE CODE WITH
SOURCE-TO-IMAGE (S2I)
codeGit
Repository
Source-to-Image
(S2I)
deploy
Container
Image
Image
Registry
OPSDEV
DEPLOY
Application
Container
9. Developers use the existing
build process and tools (e.g.
Maven, Gradle, Jenkins, Nexus)
to build the app binaries (e.g.
JAR, WAR, EAR) and use
OpenShift CLI to create an app
from the app binaries
DEPLOY APP BINARY WITH
SOURCE-TO-IMAGE (S2I)
Application
Binary
(e.g. WAR)
DEV
BUILD APP
build
Existing Build
Process
...
10. DEPLOY APP BINARY WITH
SOURCE-TO-IMAGE (S2I)
Application
Binary
(e.g. WAR)
Source-to-Image
(S2I)
Container
Image
Image
Registry
DEV
build
Existing Build
Process
BUILD IMAGE
S2I combines app binaries
(e.g. JAR, WAR, EAR) with a
builder image (language
and application runtimes)
and stores the resulting
application image in the
image registry
11. DEPLOY APP BINARY WITH
SOURCE-TO-IMAGE (S2I)
Application
Binary
(e.g. WAR)
Source-to-Image
(S2I)
deploy
Container
Image
Image
Registry
OPSDEV
build
Existing Build
Process
DEPLOY
Application
Container
OpenShift automates the
deployment of application
containers across multiple
hosts via the Kubernetes.
Users can trigger
deployments, rollback,
configure A/B or other
custom deployments
13. App images are built using the
existing docker image build
process. OpenShift automates
the deployment of app
containers across multiple hosts
via the Kubernetes. Users can
trigger deployments, rollback,
configure A/B, etc
DEPLOY
DEPLOY DOCKER IMAGE
build
Application
Container
deploy
Application
Image
Image
Registry
OPSDEV
BUILD
Existing Image
Build Process
15. What is CI/CD
● Continuous Integration is the practice of constantly merging development work with a main line of code (e.g. master
branch) so that changes can be tested and make sure they work with all other changes.
● Continuous Delivery is the natural extension of Continuous Integration, an approach in which teams ensure that every
change to the system is releasable, and release any version with the push of a button.
● Continuous Deployment is the most advanced evolution of continuous delivery and advocates automatic release of
every change into production without human intervention after it has been successfully tested and verified in the process.
Unit Test Platform Test Deliver to Staging
Application
Acceptance tests
Deploy to
Production
Post deploy tests
Auto Auto Auto AutoManual
Unit Test Platform Test Deliver to Staging
Application
Acceptance tests
Deploy to
Production
Post deploy tests
Auto Auto Auto AutoAuto
Continuous Delivery
Continuous Deployment
16. CI/CD WITH BUILD AND DEPLOYMENTS
BUILDS
● Webhook triggers: build the app image whenever the code changes
● Image trigger: build the app image whenever the base language or app runtime changes
● Build hooks: test the app image before pushing it to an image registry
DEPLOYMENTS
● Deployment triggers: redeploy app containers whenever the image changes in the
OpenShift integrated image registry or upstream registries
17. CONTINUOUS DELIVERY WITH CONTAINERS
source
repository
CI/CD
engine
dev container
physical
virtual
private cloud
public cloud
19. JENKINS-AS-A-SERVICE ON OPENSHIFT
● Certified Jenkins images with pre-configured plugins
○ Provided out-of-the-box
○ Follows Jenkins 1.x and 2.x LTS versions
● Jenkins S2I Builder for customizing the image
○ Install Plugins
○ Configure Jenkins
○ Configure Build Jobs
● OpenShift plugins to integrate authentication with
OpenShift and also CI/CD pipelines
● Dynamically deploys Jenkins slave containers
Plugins
Jobs
Configuration
Jenkins
(S2I)
Custom
Jenkins
Image
Jenkins
Image
20. ● Scale existing Jenkins infrastructure by dynamically provisioning Jenkins slaves on OpenShift
● Use Kubernetes plug-in on existing Jenkin servers
HYBRID JENKINS INFRA WITH OPENSHIFT
OPENSHIFT
APP APPrun job
JENKINS
SLAVE
Run Job
JENKINS
SLAVE
Run Job
build
JENKINS
MASTER
deploy
21. ● Existing CI/CD infrastructure outside OpenShift performs operations against OpenShift
○ OpenShift Pipeline Jenkins Plugin for Jenkins
○ OpenShift CLI for integrating other CI Engines with OpenShift
● Without disrupting existing processes, can be combined with previous alternative
EXISTING CI/CD DEPLOY TO OPENSHIFT
OPENSHIFT
APP
EXISTING
CI/CD INFRA
Jenkins, Bamboo,
TeamCity, etc
APPbuild
deploy
S2I
Buildrun job
22. OPENSHIFT PIPELINES
● OpenShift Pipelines allow defining a
CI/CD workflow via a Jenkins pipeline
which can be started, monitored, and
managed similar to other builds
● Dynamic provisioning of Jenkins slaves
● Auto-provisioning of Jenkins server
● OpenShift Pipeline strategies
○ Embedded Jenkinsfile
○ Jenkinsfile from a Git repository
apiVersion: v1
kind: BuildConfig
metadata:
name: app-pipeline
spec:
strategy:
type: JenkinsPipeline
jenkinsPipelineStrategy:
jenkinsfile: |-
node('maven') {
stage('build app') {
git url: 'https://git/app.git'
sh "mvn package"
}
stage('build image') {
sh "oc start-build app --from-file=target/app.jar
}
stage('deploy') {
openshiftDeploy deploymentConfig: 'app'
}
}
Provision a
Jenkins slave for
running Maven