SlideShare a Scribd company logo
PyCon Italia 2023
Sebastian Witowski
Optimizing
Your CI
Pipelines
Simple pipelines are relatively easy
Optimizing Your CI Pipelines
Roadmap
Better Docker setup
Make things run faster
Run less often, stop fast
Tips & tricks
Choosing a CI system
Choosing a CI system
Example project
https:/
/gitlab.com/switowski/optimizing-ci-pipelines/-/tree/start
Example project
Example project
Example project
Example project
Example project
...
build:
stage: build
script:
- docker compose build
test:
stage: test
script:
- docker compose run --rm web python manage.py migrate
- docker compose run --rm web pytest
deploy:
stage: deploy
script: echo "Here goes deployment script"
environment: production
Certificate of
ABSOLUTELY NOT
PRODUCTION GRADE!
Docker
Optimize your
Docker configs!
Layers caching, tags, etc.
Improve your Docker config
FROM python:3.10-slim-buster FROM python:3.10-alpine
Improve your Docker config
FROM python:3.10-slim-buster
Bigger image
Shorter build time
FROM python:3.10-alpine
Smaller image
Longer build time
Push (pull) image to (from) registry
...
build:
stage: build
script:
- docker compose build
test:
stage: test
script:
- docker compose run --rm web python manage.py migrate
- docker compose run --rm web pytest
Push (pull) image to (from) registry
...
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build:
stage: build
script:
- docker compose build
- docker push registry.gitlab.com/switowski/optimizing-ci-pipelines/web:dev
test:
stage: test
script:
- docker pull registry.gitlab.com/switowski/optimizing-ci-pipelines/web:dev
- docker compose run --rm web python manage.py migrate
- docker compose run --rm web pytest
Push (pull) image to (from) registry
...
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build:
stage: build
script:
- docker compose build
- docker push registry.gitlab.com/switowski/optimizing-ci-pipelines/web:dev
test:
stage: test
script:
- docker pull registry.gitlab.com/switowski/optimizing-ci-pipelines/web:dev
- docker compose run --rm web python manage.py migrate
- docker compose run --rm web pytest
Multistage builds
Make things run
faster
Make things run faster (in parallel)
Make things run faster (in parallel)
Make things run faster (in parallel)
Make things run faster (in parallel)
There is an open issue about this from 2018.
Directed
Acyclic Graph
One job starts after
another finishes,
regardless of what
stage they are in.
Without DAG
Without DAG
With DAG
With DAG build_3.8:
stage: build
script:
- docker build -f Dockerfile_3.8
- docker push $CI_REGISTRY_IMAGE:3.8
test_3.8:
stage: test
needs: ["build_3.8"]
script:
- docker pull $CI_REGISTRY_IMAGE:3.8
- docker run $CI_REGISTRY_IMAGE:3.8 pytest
release_3.8:
stage: release
needs: ["test_3.8"]
script: echo "Release script"
Downstream
(child) pipeline
Separate mini-pipelines
that can be triggered
from your main pipeline.
Downstream (child) pipelines
Downstream (child) pipelines
frontend:
trigger:
include: frontend/.gitlab-ci.yml
strategy: depend
rules:
- changes: [frontend/*]
backend:
trigger:
include: backend/.gitlab-ci.yml
strategy: depend
rules:
- changes: [backend/*]
Run tests in
parallel
Run tests in
parallel
pytest-xdist
Run tests across
multiple CPUs
$ pip install pytest-xdist
$ pytest -n auto
Run tests in
parallel
pytest-xdist
Run tests across
multiple CPUs
pytest-test-groups
Run tests across
multiple runners
Run tests in
parallel
pytest-xdist
Run tests across
multiple CPUs
pytest-test-groups
Run tests across
multiple runners
# requirements.in
pytest-test-groups
# .gitlab-ci.yml
test:
stage: test
parallel: 5
script:
- pytest 
--test-group-count $CI_NODE_TOTAL 
--test-group=$CI_NODE_INDEX
Run tests in
parallel
pytest-xdist
Run tests across
multiple CPUs
pytest-test-groups
Run tests across
multiple runners
Run less and stop fast
• Interruptible jobs
Run less and stop fast
• Interruptible jobs
build:
stage: build
interruptible: true
script:
- docker compose build
Run less and stop fast
• Interruptible jobs
• Stop fast (pytest -x)
build:
stage: build
interruptible: true
script:
- docker compose build
Tip 5:
Not running
things in the CI
Not every check is
mandatory in the CI
Not every check is
mandatory in the CI
Some can run only on the main branches.
Others can be triggered manually.
Random
Tips&Tricks
Caching and cache policies
You can use caching to, well,
cache stuff between jobs.
But you can also specify if
you want to push or pull stuff
to cache using policy key.
default:
cache: &global_cache
key: $CI_COMMIT_REF_SLUG
paths:
- .cache/pip
- some/other/path/
policy: pull-push
job:
cache:
# inherit all global cache settings
<<: *global_cache
# override the policy
policy: pull
Fast zip
For caching/artifacts, you
can choose different level of
compression (low level of
compression runs faster, but
results in a larger zip file).
variables:
FF_USE_FASTZIP: "true"
# Available options are:
# fastest, fast, default, slow,
# or slowest
ARTIFACT_COMPRESSION_LEVEL: "fastest"
CACHE_COMPRESSION_LEVEL: "fastest"
Different builders
Use your own runners
Use your own runners
Takeaways
Takeaways
• Learn concepts, not tools
Takeaways
• Learn concepts, not tools
• There are no silver bullets
python-alpine or python-debian? Pull an image or build it?
Takeaways
• Learn concepts, not tools
• There are no silver bullets
python-alpine or python-debian? Pull an image or build it?
• Not every check has to run in every pipeline
make MR pipelines fast and main branch pipelines thorough
Takeaways
• Learn concepts, not tools
• There are no silver bullets
python-alpine or python-debian? Pull an image or build it?
• Not every check has to run in every pipeline
make MR pipelines fast and main branch pipelines thorough
• Outdated CI setup is also a technical debt
Thank you!
switowski.com
@SebaWitowski
• Slide 1: https:/
/www.midjourney.com/app/search/?jobId=6f707c18-bf19-4fac-b87f-622ff3e1561b
• Roadmap - containers: https:/
/www.midjourney.com/app/search/?jobId=28e92637-bfd6-4d07-ae36-a279dd35c2d4
• Roadmap - rocket: https:/
/www.midjourney.com/app/search/?jobId=eaeeb022-17af-4b71-8438-a8eb05afc298
• Roadmap - traffic lights: https:/
/www.midjourney.com/app/search/?jobId=89159672-debf-4845-a822-be159983f172
• Roadmap - chest: https:/
/www.midjourney.com/app/search/?jobId=1bb66ddc-84a4-4ac1-a36a-7c7f8dbd1c04
• Gitlab logo: https:/
/www.midjourney.com/app/search/?jobId=a5491c2d-199e-43dd-b65f-9ebefc031f65
• Ribbon badge: https:/
/www.clipartmax.com/download/m2i8H7d3Z5i8G6K9_certificate-ribbons-ribbon-badge-vector-png/
• Containers: https:/
/www.midjourney.com/app/search/?jobId=f14ee5f1-b3a7-4bca-9907-e67607beff90
• DAG image: https:/
/www.midjourney.com/app/search/?jobId=4609a9aa-7154-49f2-9b10-38d600aa04f2
• Child pipelines: https:/
/www.midjourney.com/app/search/?jobId=39e19a04-1196-4c2e-99e9-f242464b5d7c
• Rube Goldberg machine: https:/
/www.midjourney.com/app/search/?jobId=60ab5692-a07a-4992-8641-13dfbe6193f2
Attributions
Most images comes from midjourney.com
Drawings were done with excalidraw.com
Questions?
switowski.com
@SebaWitowski
https:/
/gitlab.com/switowski/optimizing-ci-pipelines
Slides: https:/
/www.slideshare.net/SebastianWitowski
Ad

More Related Content

What's hot (20)

Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
A Subbiah
 
Linux
Linux Linux
Linux
Kevin James
 
Linux
LinuxLinux
Linux
dwarfyray
 
Curso Linux Basico
Curso Linux BasicoCurso Linux Basico
Curso Linux Basico
Carlos Rivero
 
IP tables,Filtering.pptx
IP tables,Filtering.pptxIP tables,Filtering.pptx
IP tables,Filtering.pptx
AyeCS11
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
Achyut Sinha
 
Introduction to Ubuntu
Introduction to UbuntuIntroduction to Ubuntu
Introduction to Ubuntu
Khairul Aizat Kamarudzzaman
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
onu9
 
Presentation on DSL & ADSL
Presentation on DSL & ADSLPresentation on DSL & ADSL
Presentation on DSL & ADSL
rewa_monami
 
Linux basics
Linux basicsLinux basics
Linux basics
Santosh Khadsare
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OS
Haseeb
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
MohamedElshaikh10
 
Networking ppt
Networking ppt Networking ppt
Networking ppt
Shovan Mandal
 
Development And Operations PowerPoint Presentation Slides
Development And Operations PowerPoint Presentation Slides Development And Operations PowerPoint Presentation Slides
Development And Operations PowerPoint Presentation Slides
SlideTeam
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
Srikanth R Vaka
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
ITz_1
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
Omi Vichare
 
Open source software, commercial software, freeware software, shareware softw...
Open source software, commercial software, freeware software, shareware softw...Open source software, commercial software, freeware software, shareware softw...
Open source software, commercial software, freeware software, shareware softw...
Muhammad Haroon
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
Mohamed Ben Bouzid
 
Scaling Software Agility
Scaling Software AgilityScaling Software Agility
Scaling Software Agility
Armond Mehrabian
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
A Subbiah
 
IP tables,Filtering.pptx
IP tables,Filtering.pptxIP tables,Filtering.pptx
IP tables,Filtering.pptx
AyeCS11
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
Achyut Sinha
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
onu9
 
Presentation on DSL & ADSL
Presentation on DSL & ADSLPresentation on DSL & ADSL
Presentation on DSL & ADSL
rewa_monami
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OS
Haseeb
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
MohamedElshaikh10
 
Development And Operations PowerPoint Presentation Slides
Development And Operations PowerPoint Presentation Slides Development And Operations PowerPoint Presentation Slides
Development And Operations PowerPoint Presentation Slides
SlideTeam
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
ITz_1
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
Omi Vichare
 
Open source software, commercial software, freeware software, shareware softw...
Open source software, commercial software, freeware software, shareware softw...Open source software, commercial software, freeware software, shareware softw...
Open source software, commercial software, freeware software, shareware softw...
Muhammad Haroon
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
Mohamed Ben Bouzid
 

Similar to Optimizing Your CI Pipelines (20)

5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI
Sebastian Witowski
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
Juraj Hantak
 
Princeton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance ToolingPrinceton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance Tooling
Henry Schreiner
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
inside-BigData.com
 
drupal ci cd concept cornel univercity.pptx
drupal ci cd concept cornel univercity.pptxdrupal ci cd concept cornel univercity.pptx
drupal ci cd concept cornel univercity.pptx
rukuntravel
 
Getting Started with Docker
Getting Started with Docker Getting Started with Docker
Getting Started with Docker
Anup Segu
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
Annie Huang
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Atlassian
 
Digital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meetingDigital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meeting
Henry Schreiner
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Dana Luther
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Jian-Hong Pan
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Docker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a pro
sparkfabrik
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
ColCh
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
Lingvokot
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI
Sebastian Witowski
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
Juraj Hantak
 
Princeton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance ToolingPrinceton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance Tooling
Henry Schreiner
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
inside-BigData.com
 
drupal ci cd concept cornel univercity.pptx
drupal ci cd concept cornel univercity.pptxdrupal ci cd concept cornel univercity.pptx
drupal ci cd concept cornel univercity.pptx
rukuntravel
 
Getting Started with Docker
Getting Started with Docker Getting Started with Docker
Getting Started with Docker
Anup Segu
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
Annie Huang
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Atlassian
 
Digital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meetingDigital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meeting
Henry Schreiner
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Dana Luther
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Jian-Hong Pan
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Docker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a pro
sparkfabrik
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
ColCh
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
Lingvokot
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
Ad

More from Sebastian Witowski (6)

Writing Faster Python 3
Writing Faster Python 3Writing Faster Python 3
Writing Faster Python 3
Sebastian Witowski
 
Python Versions and Dependencies Made Easy
Python Versions and Dependencies Made EasyPython Versions and Dependencies Made Easy
Python Versions and Dependencies Made Easy
Sebastian Witowski
 
Productivity tips for developers
Productivity tips for developersProductivity tips for developers
Productivity tips for developers
Sebastian Witowski
 
Wait, IPython can do that?! (30 minutes)
Wait, IPython can do that?! (30 minutes)Wait, IPython can do that?! (30 minutes)
Wait, IPython can do that?! (30 minutes)
Sebastian Witowski
 
It's 2019 & I'm still using Python 2! Should I be worried?
It's 2019 & I'm still using Python 2! Should I be worried?It's 2019 & I'm still using Python 2! Should I be worried?
It's 2019 & I'm still using Python 2! Should I be worried?
Sebastian Witowski
 
Wait, IPython can do that?
Wait, IPython can do that?Wait, IPython can do that?
Wait, IPython can do that?
Sebastian Witowski
 
Python Versions and Dependencies Made Easy
Python Versions and Dependencies Made EasyPython Versions and Dependencies Made Easy
Python Versions and Dependencies Made Easy
Sebastian Witowski
 
Productivity tips for developers
Productivity tips for developersProductivity tips for developers
Productivity tips for developers
Sebastian Witowski
 
Wait, IPython can do that?! (30 minutes)
Wait, IPython can do that?! (30 minutes)Wait, IPython can do that?! (30 minutes)
Wait, IPython can do that?! (30 minutes)
Sebastian Witowski
 
It's 2019 & I'm still using Python 2! Should I be worried?
It's 2019 & I'm still using Python 2! Should I be worried?It's 2019 & I'm still using Python 2! Should I be worried?
It's 2019 & I'm still using Python 2! Should I be worried?
Sebastian Witowski
 
Ad

Recently uploaded (20)

Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 

Optimizing Your CI Pipelines