CIbox - OpenSource solution for making your #devops betterAndrii Podanenko
This document describes an old and new development workflow for code reviews and continuous integration. The old workflow involved directly committing code to a shared master branch and deploying to a development server, while the new workflow uses feature branches, pull requests, and local virtual environments for development. It also introduces CIBox, an open source project that provides tools and automation to implement the new workflow, including provisioning a CI server and setting up initial project files.
This document summarizes the use of Docker for a multisite Drupal development workflow. Key points include:
- Using Docker images and containers to share database layers between similar sites, improving build speeds.
- Implementing a "lazy" continuous integration workflow with a parent PR builder and child builders for specific sites/tasks, run in parallel.
- Introducing scripts to pull the latest database from production into a Docker image, then reusing that image for reinstalls rather than importing the full database each time.
- Describing how the Docker-based approach works on both the CI server and local developer environments.
- Noting some potential issues with Docker stability and leaving garbage,
1. There are two main flows for Drupal 8 configuration management: the profile flow and the SQL flow.
2. The profile flow is used for initial project setup and involves exporting configurations from a staging site to a profile directory for installation.
3. The SQL flow is needed when adding content or complex module dependencies and cannot use configuration import since it would cause mismatches. Special tools are needed to import configurations and SQL data separately.
DrupalCon Los Angeles - Continuous Integration ToolboxAndrii Podanenko
This document describes a multidimensional continuous integration (CI) workflow for Drupal projects using tools like Vagrant, Ansible, Jenkins, and other automation tools. It provides an overview of how code is developed locally, reviewed through pull requests, tested through automated jobs, and deployed across environments like development, staging, and production. The goal is to standardize and streamline the development process, improve quality, and reduce bottlenecks through automation. Key aspects covered include local development environments, database/configuration handling, code review process, automated testing, and deployment.
CIBox is a continuous integration framework that allows for multidimensional testing before code is merged into the master branch. It provides tools and configurations for local development environments, automated testing, code reviews, and deployment. The framework uses Ansible playbooks to provision and configure Jenkins, Vagrant, databases, and other tools on a CI server. It also generates codebases with scripts for continuous integration testing in Vagrant virtual machines before code is merged.
This document discusses Drupal's project management tools and resources for module maintainers, including automated testing, documentation, issue tracking, and community support. It highlights how some popular modules grew large developer communities that fixed over 90% of critical bugs through these resources. The document encourages contributors to write tests before committing code and review patches through the issue queue. It also lists projects needing maintenance help and provides contact information.
1. The document discusses setting up a continuous integration workflow for Drupal projects using tools like Jenkins, Drush, and Vagrant.
2. It identifies problems with current development practices like code being merged without testing and different environments between dev and production.
3. The workflow proposed uses scripts to automate rebuilding development and production environments from source control, running tests, and deploying code.
This document provides instructions for setting up a continuous integration environment using Ubuntu Linux, Ruby on Rails, CruiseControl, JsUnit and Selenium. It includes steps to install the necessary software like Ubuntu, Ruby, Rails, MySQL, Subversion and other tools. It also outlines creating a sample Rails application, importing it to Subversion and configuring CruiseControl for continuous integration. The goal is to have a working CI environment that can be easily replicated and used on real projects.
This document compares Drupal 7 and Drupal 8. Some key differences include Drupal 8 requiring PHP 5.3.10 instead of 5.2.4, using a Composer autoloader instead of includes, and handling requests through a Symfony kernel instead of hook_bootstrapping. Drupal 8 also uses more Symfony components like events and services. The rendering process is updated with new classes like HtmlPage and HtmlFragment. Drupal 8 removes hook_menu() and replaces it with routing files and services.
This document discusses using Docker to run Geb tests with real browsers. It provides instructions on installing Docker images, configuring Geb to use a Dockerized browser via RemoteWebDriver, and running Gradle tests within a Docker container to test a web application using the Dockerized browser. Viewing the browser session within Docker is also demonstrated using VNC. Migrating CI/testing to use Dockerized browsers is mentioned as a way to ensure tests use real browsers.
Lessons Learned: Using Concourse In ProductionShingo Omura
The document summarizes ChatWork's experience using Concourse for continuous integration and delivery (CI/CD) of their infrastructure projects. It describes ChatWork's context and use case, highlighting the benefits of using Concourse such as reduced operational load and easier development and testing of deployment processes. It also provides tips for developing pipelines in Concourse and notes some limitations around authorization and parameterized jobs that could be improved.
The document discusses 7 habits of highly effective Jenkins users. It recommends using long-term support releases, breaking up large jobs into smaller modular jobs, and defining Jenkins tasks programmatically using scripts and pipelines rather than manually configuring through the UI. Key plugins are also discussed like Pipeline, Job DSL, and others that help automate Jenkins configuration and integration.
Jenkins days workshop pipelines - Eric Longericlongtx
This document provides an overview of a Jenkins Days workshop on building Jenkins pipelines. The workshop goals are to install Jenkins Enterprise, create a Jenkins pipeline, and explore additional capabilities. Hands-on exercises will guide attendees on installing Jenkins Enterprise using Docker, creating their first pipeline that includes checking code out of source control and stashing files, using input steps and checkpoints, managing tools, developing pipeline as code, and more advanced pipeline steps. The document encourages attendees to get involved with the Jenkins and CloudBees communities online and on Twitter.
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The PipelinePROIDEA
YouTube: https://www.youtube.com/watch?v=t1WM4IraoiM&list=PLnKL6-WWWE_VtIMfNLW3N3RGuCUcQkDMl&index=14
With the introduction of the Pipeline feature, Jenkins has made a great paradigm shift from its classic UI-based job configuration to a domain-specific language, providing bunch of major advantages when it comes to maintaining the continuous delivery cycle. While previously Jenkins worked best with sequential tasks with well-defined responsibilities and outcomes, now it has become possible to properly instrument the whole delivery process, including code reviews, testing and going through staging environments. Let's take a look at how to take most out of it and how does it compare now to other popular CI tools out there.
This document discusses continuous delivery and the new features of Jenkins 2, including pipeline as code. Jenkins 2 introduces the concept of pipeline as a new type that allows defining build pipelines explicitly as code in Jenkinsfiles checked into source control. This enables pipelines to be versioned, more modular through shared libraries, and resumed if interrupted. The document provides examples of creating pipelines with Jenkinsfiles that define stages and steps for builds, tests and deployments.
Pipeline as code - new feature in Jenkins 2Michal Ziarnik
What is pipeline as code in continuous delivery/continuous deployment environment.
How to set up Multibranch pipeline to fully benefit from pipeline features.
Jenkins master-node concept in Kubernetes cluster.
Использование Docker в CI / Александр Акбашев (HERE Technologies)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 6 июня, 17:00
Тезисы:
http://rootconf.ru/2017/abstracts/2504.html
В своём докладе я расскажу о том, почему мы решили использовать Docker в рамках Continuous Integration: ускорить тесты, повысить стабильность, улучшить контроль над окружением и используемыми библиотеками.
Доклад так же содержит подробности о многих сложностях, с которыми пришлось столкнуться в ходе миграции на Docker: борьба с растущим числом и размером образов, бесконтрольные обновления образов, нестабильное поведение, и другие.
В конце доклада я покажу, как именно мы следим за стабильностью Docker в нашей инфраструктуре. И насколько Docker стабилен на больших объемах (больше 100k билдов в сутки).
How to integrate front end tool via gruntjsBo-Yi Wu
This document discusses setting up a shared development environment for a team. It recommends using GruntJS, a JavaScript task runner, to integrate common development tools like Bower, Compass, CoffeeScript, and livereload across Windows, Linux and Mac operating systems. The document outlines initializing a project with these tools, testing it, and deploying it with tasks for minification, concatenation, cleaning files and copying to production. It provides configuration examples for Gruntfile.js and links to a GitHub repository with an integrated HTML5 template project using these tools.
Docker allows wrapping software in containers that contain everything needed to run. Images are templates for containers. This document discusses using Docker to set up a Django project with linked Django and database containers. It provides an overview of the development process, which includes creating Dockerfiles and docker-compose files to build images for the Django and database containers. Useful Docker commands are also listed.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
Mukta Aphale presented at ChefConf 2015. She discussed her background transitioning from developer to DevOps architect. She contributed to Chef development and created several Chef knife plugins. Aphale also discussed using Docker and Chef together to automate container management and deployment. She showed how to build a Docker image using Chef recipes and push it to a registry for deployment using Chef push jobs.
This document discusses Yeoman generators for AngularJS applications, comparing ngBoilerplate and generator-angular. It provides instructions for setting up a project with ngBoilerplate, customizing Grunt tasks, installing dependencies with Bower, and tips for using Foundation with Sass. The presenter encourages learning Gulp and writing custom generators.
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins PipelinesSteffen Gebert
This document discusses implementing continuous integration and continuous delivery (CI/CD) for Chef cookbooks using Jenkins pipelines. It introduces Jenkins pipelines and how they can be used to test, version, and publish Chef cookbooks. Key steps include linting, dependency resolution, test-kitchen testing, version bumping, and uploading to the Chef Server. The jenkins-chefci cookbook automates setting up Jenkins with the necessary tools to run pipelines defined in a shared Groovy library for cookbook CI/CD.
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
Ken Cochrane gave a presentation on Docker and Docker's suitability for Django projects. He began with an introduction to Docker, explaining how it uses Linux containers to package applications into lightweight portable containers. He then discussed several common use cases for Docker like local development, continuous integration/deployment, and testing. The presentation concluded with a demo of Docker commands and a discussion of upcoming Docker 1.0 features.
This document outlines an introduction to test-driven development (TDD) including why it is needed, how to start, and common practices. It discusses using TDD for programming, DevOps, and as a team leader/member. It provides an example of setting up a Node.js project with Mocha and Supertest for TDD including creating tests, mocking, and integrating with continuous integration/delivery pipelines. The document recommends TDD practices from Clean Code and includes additional resources on TDD testimonials.
Vagrant can be used to create consistent development environments that match production. This allows developers to develop locally yet still have access to all production dependencies. The presenter recommends using Vagrant to provision local development environments that match the OS used in production AWS environments. Developers can then use the same configuration management tools and processes locally and in production. Code is deployed from Vagrant environments to AWS, ensuring development and production remain consistent. A demo is provided to stand up identical local and AWS environments and deploy code between them.
This document provides an overview of Concourse, a continuous integration and delivery tool. It discusses Concourse's core concepts of resources, tasks, and jobs which connect to define delivery pipelines. It also covers scaling complex pipelines through techniques like using an artifact store, custom caches, extending with additional resources, and implementing custom resources. The document includes an agenda, challenges with traditional CI systems that Concourse addresses, and a demo of Concourse in action.
This document summarizes some of the key features and changes in Drupal 8. It discusses the new Twig templating system, improved plugin and block systems, configuration management, multilingual improvements, and namespaced code structure. It also outlines initiatives to improve mobile support, accessibility, and front-end performance in Drupal 8. Several core modules have been removed, changed, or added to modernize the platform.
A group of Russian-speaking Drupal developers promoted their involvement in the Drupal community and open source modules, including sponsoring and contributing to DrupalCamp Kyiv 2011. The document lists over a dozen developers, their module contributions on Drupal.org, and encourages collaboration and contributing to the Drupal community.
This document compares Drupal 7 and Drupal 8. Some key differences include Drupal 8 requiring PHP 5.3.10 instead of 5.2.4, using a Composer autoloader instead of includes, and handling requests through a Symfony kernel instead of hook_bootstrapping. Drupal 8 also uses more Symfony components like events and services. The rendering process is updated with new classes like HtmlPage and HtmlFragment. Drupal 8 removes hook_menu() and replaces it with routing files and services.
This document discusses using Docker to run Geb tests with real browsers. It provides instructions on installing Docker images, configuring Geb to use a Dockerized browser via RemoteWebDriver, and running Gradle tests within a Docker container to test a web application using the Dockerized browser. Viewing the browser session within Docker is also demonstrated using VNC. Migrating CI/testing to use Dockerized browsers is mentioned as a way to ensure tests use real browsers.
Lessons Learned: Using Concourse In ProductionShingo Omura
The document summarizes ChatWork's experience using Concourse for continuous integration and delivery (CI/CD) of their infrastructure projects. It describes ChatWork's context and use case, highlighting the benefits of using Concourse such as reduced operational load and easier development and testing of deployment processes. It also provides tips for developing pipelines in Concourse and notes some limitations around authorization and parameterized jobs that could be improved.
The document discusses 7 habits of highly effective Jenkins users. It recommends using long-term support releases, breaking up large jobs into smaller modular jobs, and defining Jenkins tasks programmatically using scripts and pipelines rather than manually configuring through the UI. Key plugins are also discussed like Pipeline, Job DSL, and others that help automate Jenkins configuration and integration.
Jenkins days workshop pipelines - Eric Longericlongtx
This document provides an overview of a Jenkins Days workshop on building Jenkins pipelines. The workshop goals are to install Jenkins Enterprise, create a Jenkins pipeline, and explore additional capabilities. Hands-on exercises will guide attendees on installing Jenkins Enterprise using Docker, creating their first pipeline that includes checking code out of source control and stashing files, using input steps and checkpoints, managing tools, developing pipeline as code, and more advanced pipeline steps. The document encourages attendees to get involved with the Jenkins and CloudBees communities online and on Twitter.
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The PipelinePROIDEA
YouTube: https://www.youtube.com/watch?v=t1WM4IraoiM&list=PLnKL6-WWWE_VtIMfNLW3N3RGuCUcQkDMl&index=14
With the introduction of the Pipeline feature, Jenkins has made a great paradigm shift from its classic UI-based job configuration to a domain-specific language, providing bunch of major advantages when it comes to maintaining the continuous delivery cycle. While previously Jenkins worked best with sequential tasks with well-defined responsibilities and outcomes, now it has become possible to properly instrument the whole delivery process, including code reviews, testing and going through staging environments. Let's take a look at how to take most out of it and how does it compare now to other popular CI tools out there.
This document discusses continuous delivery and the new features of Jenkins 2, including pipeline as code. Jenkins 2 introduces the concept of pipeline as a new type that allows defining build pipelines explicitly as code in Jenkinsfiles checked into source control. This enables pipelines to be versioned, more modular through shared libraries, and resumed if interrupted. The document provides examples of creating pipelines with Jenkinsfiles that define stages and steps for builds, tests and deployments.
Pipeline as code - new feature in Jenkins 2Michal Ziarnik
What is pipeline as code in continuous delivery/continuous deployment environment.
How to set up Multibranch pipeline to fully benefit from pipeline features.
Jenkins master-node concept in Kubernetes cluster.
Использование Docker в CI / Александр Акбашев (HERE Technologies)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 6 июня, 17:00
Тезисы:
http://rootconf.ru/2017/abstracts/2504.html
В своём докладе я расскажу о том, почему мы решили использовать Docker в рамках Continuous Integration: ускорить тесты, повысить стабильность, улучшить контроль над окружением и используемыми библиотеками.
Доклад так же содержит подробности о многих сложностях, с которыми пришлось столкнуться в ходе миграции на Docker: борьба с растущим числом и размером образов, бесконтрольные обновления образов, нестабильное поведение, и другие.
В конце доклада я покажу, как именно мы следим за стабильностью Docker в нашей инфраструктуре. И насколько Docker стабилен на больших объемах (больше 100k билдов в сутки).
How to integrate front end tool via gruntjsBo-Yi Wu
This document discusses setting up a shared development environment for a team. It recommends using GruntJS, a JavaScript task runner, to integrate common development tools like Bower, Compass, CoffeeScript, and livereload across Windows, Linux and Mac operating systems. The document outlines initializing a project with these tools, testing it, and deploying it with tasks for minification, concatenation, cleaning files and copying to production. It provides configuration examples for Gruntfile.js and links to a GitHub repository with an integrated HTML5 template project using these tools.
Docker allows wrapping software in containers that contain everything needed to run. Images are templates for containers. This document discusses using Docker to set up a Django project with linked Django and database containers. It provides an overview of the development process, which includes creating Dockerfiles and docker-compose files to build images for the Django and database containers. Useful Docker commands are also listed.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
Mukta Aphale presented at ChefConf 2015. She discussed her background transitioning from developer to DevOps architect. She contributed to Chef development and created several Chef knife plugins. Aphale also discussed using Docker and Chef together to automate container management and deployment. She showed how to build a Docker image using Chef recipes and push it to a registry for deployment using Chef push jobs.
This document discusses Yeoman generators for AngularJS applications, comparing ngBoilerplate and generator-angular. It provides instructions for setting up a project with ngBoilerplate, customizing Grunt tasks, installing dependencies with Bower, and tips for using Foundation with Sass. The presenter encourages learning Gulp and writing custom generators.
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins PipelinesSteffen Gebert
This document discusses implementing continuous integration and continuous delivery (CI/CD) for Chef cookbooks using Jenkins pipelines. It introduces Jenkins pipelines and how they can be used to test, version, and publish Chef cookbooks. Key steps include linting, dependency resolution, test-kitchen testing, version bumping, and uploading to the Chef Server. The jenkins-chefci cookbook automates setting up Jenkins with the necessary tools to run pipelines defined in a shared Groovy library for cookbook CI/CD.
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
Ken Cochrane gave a presentation on Docker and Docker's suitability for Django projects. He began with an introduction to Docker, explaining how it uses Linux containers to package applications into lightweight portable containers. He then discussed several common use cases for Docker like local development, continuous integration/deployment, and testing. The presentation concluded with a demo of Docker commands and a discussion of upcoming Docker 1.0 features.
This document outlines an introduction to test-driven development (TDD) including why it is needed, how to start, and common practices. It discusses using TDD for programming, DevOps, and as a team leader/member. It provides an example of setting up a Node.js project with Mocha and Supertest for TDD including creating tests, mocking, and integrating with continuous integration/delivery pipelines. The document recommends TDD practices from Clean Code and includes additional resources on TDD testimonials.
Vagrant can be used to create consistent development environments that match production. This allows developers to develop locally yet still have access to all production dependencies. The presenter recommends using Vagrant to provision local development environments that match the OS used in production AWS environments. Developers can then use the same configuration management tools and processes locally and in production. Code is deployed from Vagrant environments to AWS, ensuring development and production remain consistent. A demo is provided to stand up identical local and AWS environments and deploy code between them.
This document provides an overview of Concourse, a continuous integration and delivery tool. It discusses Concourse's core concepts of resources, tasks, and jobs which connect to define delivery pipelines. It also covers scaling complex pipelines through techniques like using an artifact store, custom caches, extending with additional resources, and implementing custom resources. The document includes an agenda, challenges with traditional CI systems that Concourse addresses, and a demo of Concourse in action.
This document summarizes some of the key features and changes in Drupal 8. It discusses the new Twig templating system, improved plugin and block systems, configuration management, multilingual improvements, and namespaced code structure. It also outlines initiatives to improve mobile support, accessibility, and front-end performance in Drupal 8. Several core modules have been removed, changed, or added to modernize the platform.
A group of Russian-speaking Drupal developers promoted their involvement in the Drupal community and open source modules, including sponsoring and contributing to DrupalCamp Kyiv 2011. The document lists over a dozen developers, their module contributions on Drupal.org, and encourages collaboration and contributing to the Drupal community.
The document outlines expectations for software development projects, including seamless and on-time releases, independent environments, high quality with few bugs, and ensuring everything is under control. It also describes bad practices like cloning databases manually, lack of testing, and content being overwritten. A CI/CD workflow is proposed to address these by automating processes, enabling flexible and planned releases through continuous integration and independent deployments.
1) DrupalGap allows developers to create mobile applications that connect to Drupal websites via web services using HTML, CSS and JavaScript.
2) It inherits Drupal concepts like modules, blocks, menus and entities to build mobile apps.
3) Additional functionality can be added through custom modules that integrate services, forms, and views to retrieve and display content from Drupal.
Drupal and diversity of Single sign-on systemsAlex S
As you know Drupal supports a lot of SSO system. There is pretty hard choice which system to choose to implement some of features for our clients.
During this talk I will compare different approaches and tools like a SimpleSAMLphp, Bakery, shared tables, LDAP, CAS and other.
Build your application in seconds and optimize workflow as much as you can us...Alex S
Building an application is a very intense and complicated process. Sometimes it could lead to unacceptable results when you can wait for temporary product eternity. Tools could be different, applications could be different, but techniques will be the same.
Optimization is very important thing even when your process is standartized and strong. During that seesion I'll talk about:
- Build is the most valuable product in DevOps
- Tests, Sniffers, Performance tests and other things are minor in comparison to builds
- How to get rid of long waits for small changes or fixes
- How to don't waste time for waiting for build
- How to incorporate measurement tools
- How to solve feature branch hell and don't spent tons of time for merge conflicts
- Make builds for enterprise and big data databases
- Other interesting things from DevOps live :)
Optimisation strategy shouldn’t be strict and shouldn’t ruin current process or block the team from performing operations. Given those answers, we can move forward like a thunder and achieve whatever we want.
This document provides an overview of Drupal 7's Database API. It describes the database connection and query classes, including SelectQuery, DeleteQuery, UpdateQuery, and InsertQuery. It also covers logging queries with DatabaseLog, running transactions with db_transaction(), and handling errors. Links are provided for additional documentation on the Drupal database API.
Як з’явився drupal і його історичні передумови?
Як можна робити сайти на даній СКВ (CMS) і хто нею користується?
Як встановити і як надати додаткового функціоналу Вашому сайту?
Чи на стільки страшний Drupal як про нього говорять?
Ігор Броновський
This document discusses using Vagrant and provisioning tools like Puppet, Ansible, and PuPHPet.com to configure and provision virtual machines for local development. Vagrant provides a layer on top of virtual machine providers like VirtualBox to manage virtual machines via commands and configuration files. Provisioning tools like Puppet, Ansible, and PuPHPet.com can be used to automate the installation and configuration of software on Vagrant virtual machines. PuPHPet.com is a web interface that generates Puppet manifests and Vagrant configurations for common LAMP stack configurations.
This document outlines a Drupal development workflow using continuous integration practices. It describes the technologies used such as GitHub, Jenkins, code sniffers and Vagrant. Development rules are established including requiring code reviews before merging to master and not allowing a PR creator to merge their own code. Team roles like architect, developer and project manager are defined. The workflow involves reinstalling from scratch for each build and using update paths for staging environments. Challenges with the workflow like CI server downtime and slow builds for large projects are also discussed.
Drush - use full power - DrupalCamp Donetsk 2014Alex S
Drush - незаменимый инструмент для Drupal разработчика. Если вы досихпор не используете этот замечательный инструмент либо пользуетесь только малой частью команд - этот доклад будет очень полезен для вас.
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
This document discusses implementing DevOps with Python using Ansible. It provides an agenda for the presentation including discussing DevOps hotspots, infrastructure as code with Ansible, continuous integration/continuous delivery (CI/CD) using TravisCI and CircleCI, and an open discussion on monitoring and automated tests. It then covers problems commonly faced, how DevOps solves these problems, and the expected benefits of adopting a DevOps culture including standardized environments, infrastructure as code, automated delivery, monitoring, and improved collaboration. It provides an overview of Ansible concepts like inventories, ad-hoc commands, modules, playbooks, roles, and templates. It also demonstrates writing a custom Python module for Ansible and using it in a playbook. Finally, it
This document discusses DevOps practices at Pipedrive, including:
1. Pipedrive has 150 software engineers and 20 infrastructure/quality engineers who use various technologies like Docker, Terraform, and Chef.
2. Their development environment uses Docker to provision developer environments quickly and reliably. Code is deployed through Jenkins to multiple environments and regions with automated testing at each stage.
3. Over 2017 they deployed over 70,000 times across 154 containerized services with a high success rate of deployments to production. Areas for continued improvement include automated rollbacks and improving visibility.
Using Docker EE to Scale Operational Intelligence at SplunkDocker, Inc.
With more than 14,000 customers in 110+ countries, Splunk is the market leader in analyzing machine data to deliver operational intelligence for security, IT and the business. Our rapid growth as a company meant that our Infrastructure Engineering Team, responsible for all the common tooling, build and test systems and frameworks utilized by the Splunk engineers, was bogged down with a sprawl of virtual machines and physical servers that were becoming incredibly difficult to manage. And as our customer’s demand for data has grown, testing at the scale of petabytes/day has become our new normal. We needed a reliable and scalable “Test Lab” for functional and performance testing.
With Docker Enterprise Edition, our engineers are able to create small test stacks on their laptop just as easily as creating multi-petabyte stacks in our Test Lab. Support for Windows, Role Based Access Control and having support for both the orchestration platform and the container engine were key in deciding to go with Docker over other solutions.
In this talk, we will cover the architecture, tooling, and frameworks we built to manage our workloads, which have grown to run on over 600 bare-metal servers, with tens of thousands of containers being created every day. We will share the lessons learned from running at scale. Lastly, we will demonstrate how we use Splunk to monitor and manage Docker Enterprise Edition.
DCEU 18: Building Your Development PipelineDocker, Inc.
This document discusses building a development pipeline using containers. It outlines using containers for building images, automated testing, security scanning, and deploying to production. Containers make environments consistent and reproducible. The pipeline includes building images, testing, security scanning, and promoting images to production. Methods discussed include using multi-stage builds to optimize images, leveraging Buildkit for faster builds, and parallel testing across containers. Automated tools are available to implement rolling updates and rollbacks during deployments.
This short document discusses the Puppet configuration management tool. It begins with a quote about controlling the spice and universe from Dune and includes the author's name and date. The document then lists various Puppet features like scalability, flexibility, simple installation, and modules. It provides examples of large sites using Puppet like Google and describes Puppet's client-server and masterless models. In closing, it emphasizes Puppet's flexibility, community support, and over 1200 pre-built configurations.
This document describes eBay's use of Fluo for continuous integration and deployment using OpenStack. Fluo provides a single interface for configuring, building, testing, and deploying code changes. It provisions instances on OpenStack to run tasks defined in a configuration file like running tests, building packages, and deploying code. Fluo replicates code, packages, and configuration management code across regions and datacenters. It supports common workflows from code review through integration testing, releases, and periodic jobs. Fluo aims to provide a fully automated and scalable continuous delivery system to deploy code changes to eBay's global infrastructure on OpenStack.
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Ambassador Labs
1. The presentation introduces Docker, Kubernetes, and Envoy as foundational tools for building microservices. Docker allows packaging applications into portable containers, Kubernetes provides a platform to manage containers across clusters of hosts, and Envoy handles traffic routing and resilience at the application layer.
2. The presenters demonstrate how to build a simple Python web application into a Docker container image. They then deploy the containerized application to a Kubernetes cluster using Kubernetes objects like deployments and services. This allows the application to scale across multiple pods and be accessed via a stable service endpoint.
3. Finally, the presenters note that as applications become distributed across microservices, failures at the application layer (L7) become more common and
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
This document discusses the journey of transitioning infrastructure management at Namecheap to an immutable infrastructure as code model using tools like Terraform, Docker, and Jenkins. Key points include taking over a project from an outsourcing company, setting up immutable infrastructure with infrastructure as code, configuring CI/CD pipelines as code in Jenkins, and lessons learned around testing, chaos engineering, and encouraging team feedback. The overall goals were to make infrastructure hard to break, easy to repair, and easy to modify.
Run automated tests in Docker
This document discusses using Docker to run automated tests. Docker containers wrap software and dependencies to guarantee consistent environments. The author demonstrates building a "hello world" application container and a separate test container. Tests are run in the container to ensure consistency between local and CI environments. Key advantages are automated, lightweight, agnostic and immutable testing.
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.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
The document summarizes Day 2 of DockerCon. It discusses Docker being ready for production use with solutions for building, shipping, and running containers. It highlights Docker Hub growth and improvements to quality. Business Insider's journey with Docker is presented, covering lessons learned around local development and using Puppet and Docker Hub. Future directions discussed include orchestration tools and image security.
Lean Drupal Repositories with Composer and DrushPantheon
Composer is the industry-standard PHP dependency manager that is now in use in Drupal 8 core. This session will show the current best practices for using Composer, drupal-composer, drupal-scaffold, Drush, Drupal Console and Drush site-local aliases to streamline your Drupal 7 and Drupal 8 site repositories for optimal use on teams.
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
Drupal 8 improvements for developer productivity php symfony and moreAcquia
This was a webinar hosted by Acquia. Ron Northcutt, a solutions architect at Acquia discussed improvements in Drupal 8 that will surely boost productivity for Drupal developers.
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
DevOps at LeanIX - Presentation during Startup Camp Berlin 2015. Covering tools like Docker, Jenkins and Ansible.
===
LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXDemoS
The Drupal Code Sprint event brings together Drupal developers to focus on collaborative coding and learning. Participants can choose between personal training sessions for $40 per hour, group training for $10 per hour, or sprint coding where the focus is on learning through coding. Attendees will gain knowledge of the Drupal infrastructure, opportunities for networking and community growth, and profit from connections and communication with fellow developers.
The document discusses Drupal Feeds and its key components. It describes FeedsSource which extends FeedsConfigurable and how it imports data. It outlines the Feeds plugins system including Fetcher, Parser and Processor plugins. It details how Feeds imports data using a background job or batch process and calls the import method on FeedsSource. Finally it discusses Feeds hooks and creating custom Fetcher plugins.
This document discusses Drupal's database abstraction layer (DBAL) and API. It provides an overview of the DBAL classes and interfaces like DatabaseConnection, QueryInterface, and DatabaseStatementInterface. It also covers how to perform common database operations in Drupal like queries, transactions, and logging queries for debugging. Useful resources for working with Drupal's database API are also listed.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
Hands On: Create a Lightning Aura Component with force:RecordDataLynda Kane
Slide Deck from the 3/26/2020 virtual meeting of the Cleveland Developer Group presentation on creating a Lightning Aura Component using force:RecordData.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...Fwdays
Why the "more leads, more sales" approach is not a silver bullet for a company.
Common symptoms of an ineffective Client Partnership (CP).
Key reasons why CP fails.
Step-by-step roadmap for building this function (processes, roles, metrics).
Business outcomes of CP implementation based on examples of companies sized 50-500.
Linux Professional Institute LPIC-1 Exam.pdfRHCSA Guru
Drupal 8 DevOps . Profile and SQL flows.
1. Drupal 8 DevOps*.
Profile and SQL flows.
*DevOps is Development Operations Engineer.
Takes care about how development process lives and whether it could be
improved continuously.
2. About a speaker
Andrii Podanenko, FFW
Team Lead, Software Architect, DevOps
A bunch of contrib modules maintainer
D.org power up group mentor
UA Localization group manager.
http://dgo.to/@podarok
@podarok or @podarok_ua
5. If you able to deliver a project for a small amount of time...
you can become a winner in
terms of marketing and
sales
6. If you could demo particular feature any time...
you could give the customers
thoughts they are controlling the
process of developing the product
7. If you could deploy features/fixes more frequently...
you could let the customers think
they can commit changes to their
business easily through the
product you are developing
8. If you could provide specific features for UAT* any
time...
you could get decreased overall
UAT time and saved tons of funds
for pre launch testing
*UAT - User Acceptance Testing
9. If you could test every specific feature on a dedicated
environment - feature build (ci build)...
your QA could be happy which
would make a customer happy as
well
*QA - Quality Assurance engineer
10. If devs are involved into creating initial user-guides...
delivery would be smoother and
the client would faster start being
more familiar and confident about
product usage
11. If your development process facilitates communication
and collaboration between developers/team members...
you'll create more powerful
products in terms of architecture
and stability
12. If your process can't be broken by skipping quality
rules...
your team skills will grow faster
and resulting quality won't be
affected
13. If your team members could improve development
workflow...
they'd become more responsible
for approaching their tasks
15. Possible environments for Drupal development
● Local DEV (local developer’s desktop)
● Feature Build (CI server) *
● Static build environments (POC, long term testing feature) *optional
● Remote DEV (Accumulated environment for current master branch) *optional
● Staging (Showroom for a client and UAT)
● Production
* Average project outgoings for having CI builds are
● 20-80 $/month hosting
● 35 hours of CI maintenance
16. Possible Drupal 8 development flows
1. Profile - deployment is reinstall a project from scratch. Useful for:
a. Initial project creation
b. Develop API, library, module, installation suite(platform)
c. Drupal.org module maintainer environment
d. Develop unit/behat tests with demo content
2. SQL - deployment is fetch/keep SQL data from Live environment and run needed
updates. Useful for:
a. Content Managers need to prefill a database with a real content data
b. Pre launch timeline, testing deployments with ability to keep database data between them
c. Service Level Agreement period
d. Legacy CMS(non-Drupal) projects
e. Acceptance testing
17. Profile flow how-to* - local/remote environment
Using CIBox -> http://cibox.tools
> git pull && vagrant up && sh reinstall.sh Or ansible-playbook reinstall.yml -i 'localhost,' --
connection=local
Using drush -> http://drush.ws
> git pull && drush site-install $profile_name $options
Using drupal console -> http://drupalconsole.com
> git pull && drupal site:install [arguments] [options]
* Depends from project specifics but still - install a site takes
from 30 seconds to 15 minutes. Best time is not more than 10 minutes.
18. SQL flow how-to* - local environment
Using CIBox -> http://cibox.tools
> git pull && vagrant up && sh reinstall.sh
Or ansible-playbook reinstall.yml -i 'localhost,' --connection=local
Using drush -> http://drush.ws
> git pull && drush sql-drop && drush sqlc < dump.sql && prepare settings.php && drush updb
Using drupal console -> http://drupalconsole.com
> git pull && drupal database:drop && drupal database:restore && prepare settings.php && drupal update:
execute
* Depends from project specifics but still - install a site takes
from 3 to a lot of minutes. Best time is not more than 10 minutes.
19. SQL flow how-to* - remote environment (DEV or STAGE)
Using CIBox -> http://cibox.tools
Using drush or drupal console, manual style...
1. Deploy the codebase
2. Import working database (It should be previously sanitized from client’s sensitive data) -> optional
3. Prepare settings.php -> optional
4. Run update database
5. Import configs if they weren’t imported by hook_update_N
6. Enable development options, modules
* Depends from project specifics but still - install a site takes
from 3 to any amount of minutes. Best time is not more than 10 minutes.
20. SQL flow how-to* - creating feature branch dev builds
Using CIBox -> http://cibox.tools
1. Create GitHub Pull Request(PR) with changes to be tested.
2. Prefill steps for review
3. Wait for the comment with a link to a dedicated site build. Under the
hood:
a. CI server gets codebase from PR into unique subfolder/subdomain
within CI server vhost
b. Run reinstall.sh with overridden variables for applying CI
environment
c. Run sniffers.sh and tests.sh for checking code quality
21. Why is it helpful? e.g. CIBox stats...
Projects for 1000+ hours deliver:
● local dev environment is a deploy ~4000 builds.
● CI builds - deploys. generate 2000+ builds.
● remote DEV - deploy as well. ~200 deploys/project
● Staging ~100 deploys
● Production ~50 deploys (~0.5% failed).
Everything executed via reinstall.yml on all environments. Only environment variables
differs in between. Average deploy run is 6 minutes.
The most tested process for CI enabled flows is delivery.
22. All delivery, devops scripts should be put into the project for team access/development.
27. To sum up:
● If delivery is an atomic operation - you can move and control development really
fast
● Having virtualized environments helps you get rid of versions nightmare
● Getting builds for a features gives your team a powerful distributed network IDE
● Single Button Deploy makes it fast and easy to be executed by literally anyone
● Putting your automation scripts into the project’s codebase get’s your team a full
control over delivery without sticking to one guy or department
● Having CI server gives you an ability to work remotely
● Manual code review makes your team more skilled and fluent about a project
● Steps for review make your QA/PM/BA and Product Owner as happy as they
should be
28. Welcome to attend codesprint 05 June 2016
At Sunday we are going
to sprint about CI !!!!
All we need is your brain
B U I L D S
Builds are everywhere!!!
29. Thanks for your time and attention
Andrii Podanenko
FFW http://ffwagency.com
CIBox http://cibox.tools
Team Lead, Architect.
http://dgo.to/@podarok
Questions?