How we automated our Drupal deployment process at onsavvy.com with Git and Capistrano. First presented at Drupal Show and Tell, 15 August 2013, London.
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationDevelopment Seed
Presentation to the IBM Drupal Users Group on improving configuration management in Drupal using the Features module and exportables. This is becoming a best practice for configuration management.
Lots of customers demand a preview of the the new features before they go live, so we need a solid way to show them our work before applying it on the production environment. You may already use features (good!), but you still struggle with managing your changes? I will show you how my company LimoenGroen uses tools like Jenkins to automatically deploy changes to their Test environment and how to apply these changes to the Acceptance and Production environments.
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationDevelopment Seed
Presentation to the IBM Drupal Users Group on improving configuration management in Drupal using the Features module and exportables. This is becoming a best practice for configuration management.
Lots of customers demand a preview of the the new features before they go live, so we need a solid way to show them our work before applying it on the production environment. You may already use features (good!), but you still struggle with managing your changes? I will show you how my company LimoenGroen uses tools like Jenkins to automatically deploy changes to their Test environment and how to apply these changes to the Acceptance and Production environments.
Jenkins to Gitlab - Intelligent Build-PipelinesChristian Münch
At netz98 we moved from Jenkins to Gitlab. The slides show some insides about Testing of PHP libraries, Magento 1 and Magento 2 modules. How to setup a scalable and fast Gitlab-Pipeline with Docker images.
Getting Started With Jenkins And DrupalPhilip Norton
Jenkins is a really powerful tool for automating things like code analysis, testing and even deployment. Getting started with Jenkins, especially with Drupal, is a challenge and can be quite difficult for a beginner to the system. In this session I'll show you how to install Jenkins, how to configure things like authentication and then how to do some interesting things with the tool. I'll show some real life examples of things that can be done with the tool on your Drupal sites to do things like run cron jobs, syntax check the code or even automatically copying code to your web servers.
How do you automate the non-existing deployment routines of an organization with over 100 different customers, each having their own environments? How do you convince the leaders, developers and customers to give you the resources needed in order to automate everything? Is it really possible to introduce a deployment routine that works for everyone?
In less than six months, Karoline transformed the deployment routines at Epinova by introducing Octopus Deploy to the organization. She will take you through the steps needed to get started, the pitfalls along the way, and success that Octopus Deploy has become.
In this workshop we will start out by installing an Octopus Deploy server and tentacle on your laptop, before looking at the basic concepts of Environments, Machines, Roles and Projects. You will create a project of your own and deploy this using Octopus Deploy before we round off by looking at the advanced topics of Script modules, Step templates, Variable sets and Retention Policies.
At the end of this workshop, you'll have all the knowledge you need in order to create a more efficient and failproof deployment process for your project. Keep calm and deploy to production!
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
So, we wrote our app. Using Node.js, React, or Angular. And what's next? How your masterpiece can be shown to the entire Internet, or at least your mom, client, or friends. Probably you should find a DevOps, that will launch it for us... But what if I tell you, how to do it on your own? At this talk I'll show you 13 ways, how to launch your app on the Internet, what is the difference between them, and which method you should choose in a particular situation, from simple to complex, from free to expensive and robust.
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
DevOps is a large part of a company of any size. In the 9+ years that I have been a professional developer I have always taken an interest in DevOps and have been the "server person" for most of the teams I have been a part of. I would like to teach others how easy it is to implement modern tools to make their everyday development and development processes better. I will cover a range of topics from "Stop using WAMP/MAMP and start using Vagrant", "version control isn't renaming files", "Automate common tasks with shell scripts / command line PHP apps" and "From Vagrant to Production".
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Automated Infrastructure and Application ManagementClark Everetts
Managing application infrastructure is an error prone, tedious, and often manual process leading to late hours spent troubleshooting self-inflicted oversights. Clark will introduce an open source Chef cookbook automating many steps, which utilizes a server side SDK to painlessly deploy PHP applications, and also show how the process can be managed leveraging Zend Server. Attendees will walk away with a complete toolset to implement quickly in their own projects.
http://www.meetup.com/BruJUG/events/228994900/
During this session, you will presented a solution to the problem of scalability of continuous delivery in Jenkins, when your organisation has to deal with thousands of jobs, by introducing a self-service approach based on the "pipeline as code" principles.
CI : the first_step: Auto Testing with CircleCI - (MOSG)Soshi Nemoto
Continuous Integration
The First stop : Auto Testing ( w/ Circle CI)
Mulodo Open Study Group (MOSG) @HCMC, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/232272580/
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...Docker, Inc.
We live in a multi-platform world, and who doesn't want their project to run on all of them? The last few DockerCon events have covered the introduction of multi-platform image capabilities into the Docker registry and engine releases. Now it's time to put these features to good use building applications across architectures and running them all in a heterogeneous Docker Swarm! In this talk we'll cover the new `docker manifest` command for making multi-architecture images; how to emulate architectures in docker containers on your own machine; and give a live demonstration of these capabilities with a Docker Swarm consisting of workers of different CPU architectures, including armhf, ppc64le, s390x, and x86_64. We'll also share some pointers for making sure your project is multi-platform ready! Three Takeaways: 1. Attendees will be introduced to manifest lists and how to create multi-arch images using the new 'docker manifest' command. 2. Attendees will learn how to easily create and deploy a basic multi-arch service using multi-platform images. 3. Bonus: Attendees will learn how to run non-native docker containers on their systems.
Drupal Continuous Integration with Jenkins - DeployJohn Smith
Simple deployment setup for Jenkins. This tutorial assumes you have used our previously released "Drupal Continuous Integration with Jenkins" tutorial to setup your Jenkins server. This document is being released under the Creative Commons CC0 license.
Enjoy!
Jenkins to Gitlab - Intelligent Build-PipelinesChristian Münch
At netz98 we moved from Jenkins to Gitlab. The slides show some insides about Testing of PHP libraries, Magento 1 and Magento 2 modules. How to setup a scalable and fast Gitlab-Pipeline with Docker images.
Getting Started With Jenkins And DrupalPhilip Norton
Jenkins is a really powerful tool for automating things like code analysis, testing and even deployment. Getting started with Jenkins, especially with Drupal, is a challenge and can be quite difficult for a beginner to the system. In this session I'll show you how to install Jenkins, how to configure things like authentication and then how to do some interesting things with the tool. I'll show some real life examples of things that can be done with the tool on your Drupal sites to do things like run cron jobs, syntax check the code or even automatically copying code to your web servers.
How do you automate the non-existing deployment routines of an organization with over 100 different customers, each having their own environments? How do you convince the leaders, developers and customers to give you the resources needed in order to automate everything? Is it really possible to introduce a deployment routine that works for everyone?
In less than six months, Karoline transformed the deployment routines at Epinova by introducing Octopus Deploy to the organization. She will take you through the steps needed to get started, the pitfalls along the way, and success that Octopus Deploy has become.
In this workshop we will start out by installing an Octopus Deploy server and tentacle on your laptop, before looking at the basic concepts of Environments, Machines, Roles and Projects. You will create a project of your own and deploy this using Octopus Deploy before we round off by looking at the advanced topics of Script modules, Step templates, Variable sets and Retention Policies.
At the end of this workshop, you'll have all the knowledge you need in order to create a more efficient and failproof deployment process for your project. Keep calm and deploy to production!
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
So, we wrote our app. Using Node.js, React, or Angular. And what's next? How your masterpiece can be shown to the entire Internet, or at least your mom, client, or friends. Probably you should find a DevOps, that will launch it for us... But what if I tell you, how to do it on your own? At this talk I'll show you 13 ways, how to launch your app on the Internet, what is the difference between them, and which method you should choose in a particular situation, from simple to complex, from free to expensive and robust.
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
DevOps is a large part of a company of any size. In the 9+ years that I have been a professional developer I have always taken an interest in DevOps and have been the "server person" for most of the teams I have been a part of. I would like to teach others how easy it is to implement modern tools to make their everyday development and development processes better. I will cover a range of topics from "Stop using WAMP/MAMP and start using Vagrant", "version control isn't renaming files", "Automate common tasks with shell scripts / command line PHP apps" and "From Vagrant to Production".
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Automated Infrastructure and Application ManagementClark Everetts
Managing application infrastructure is an error prone, tedious, and often manual process leading to late hours spent troubleshooting self-inflicted oversights. Clark will introduce an open source Chef cookbook automating many steps, which utilizes a server side SDK to painlessly deploy PHP applications, and also show how the process can be managed leveraging Zend Server. Attendees will walk away with a complete toolset to implement quickly in their own projects.
http://www.meetup.com/BruJUG/events/228994900/
During this session, you will presented a solution to the problem of scalability of continuous delivery in Jenkins, when your organisation has to deal with thousands of jobs, by introducing a self-service approach based on the "pipeline as code" principles.
CI : the first_step: Auto Testing with CircleCI - (MOSG)Soshi Nemoto
Continuous Integration
The First stop : Auto Testing ( w/ Circle CI)
Mulodo Open Study Group (MOSG) @HCMC, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/232272580/
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...Docker, Inc.
We live in a multi-platform world, and who doesn't want their project to run on all of them? The last few DockerCon events have covered the introduction of multi-platform image capabilities into the Docker registry and engine releases. Now it's time to put these features to good use building applications across architectures and running them all in a heterogeneous Docker Swarm! In this talk we'll cover the new `docker manifest` command for making multi-architecture images; how to emulate architectures in docker containers on your own machine; and give a live demonstration of these capabilities with a Docker Swarm consisting of workers of different CPU architectures, including armhf, ppc64le, s390x, and x86_64. We'll also share some pointers for making sure your project is multi-platform ready! Three Takeaways: 1. Attendees will be introduced to manifest lists and how to create multi-arch images using the new 'docker manifest' command. 2. Attendees will learn how to easily create and deploy a basic multi-arch service using multi-platform images. 3. Bonus: Attendees will learn how to run non-native docker containers on their systems.
Drupal Continuous Integration with Jenkins - DeployJohn Smith
Simple deployment setup for Jenkins. This tutorial assumes you have used our previously released "Drupal Continuous Integration with Jenkins" tutorial to setup your Jenkins server. This document is being released under the Creative Commons CC0 license.
Enjoy!
B-Translator helps to get feedback about l10n (translations of the programs). It tries to collect very small translation contributions from a wide crowd of people and to dilute them into something useful. It is developed as a Drupal7 profile and the code is hosted on GitHub. Here I describe the development setup and process that I use for this project. Most of the the tips are project specific, however some of them can be used on any Drupal project.
Capistrano deploy Magento project in an efficient waySylvain Rayé
Deploying a Magento project can be very a long and laborious task with some risks of errors. Having the good tool to prevent such a pain like Capistrano will help you to automatize such a process. Thanks such a tool you may deploy a release of your Magento project in less than 5 minutes.
This is a presentation give to the Vancouver Drupal users group about moving to GIT as a version control system for a small development team. The presentation details the workflow we settled on, and the git flow method for branch management. You can see a video of the presentation here - http://www.ustream.tv/recorded/13544036
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
Instrumentación de entrega continua con GitlabSoftware Guru
Mostraremos el caso real de cómo tenemos implementado en nuestra empresa el flujo de desarrollo para integración y entrega continua, instrumentado con GitLab.
Sesión presentada por David Padilla en SG Next 2017
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneyWeaveworks
Watch the recording here: https://youtu.be/cakxixc-yQk
❗️ Notifications & Alerts ⚠️
When operating a cluster, different teams may wish to receive notifications about the status of their GitOps pipelines. For example, the on-call team would receive alerts about reconciliation failures in the cluster, while the dev team may wish to be alerted when a new version of an app was deployed and if the deployment is healthy.
Webhook Receivers
The GitOps toolkit controllers are by design pull-based. In order to notify the controllers about changes in Git or Helm repositories, you can setup webhooks and trigger a cluster reconciliation every time a source changes. Using webhook receivers, you can build push-based GitOps pipelines that react to external events.
Alison Dowdney, Developer Experience Engineer at Weaveworks and CNCF Ambassador, walks through how to define a provider, an alert, git commit status, exposing the webhook receiver and defining a git repository and receiver.
Resources
Flux2 Documentation: https://fluxcd.io/docs/
Flux Guide: Setup Notifications: https://fluxcd.io/docs/guides/notifications/
Flux Guide: Setup Webhook receivers: https://fluxcd.io/docs/guides/webhook-receivers/
Flux Roadmap: https://fluxcd.io/docs/roadmap/
Alison's Demo Repo: https://github.com/alisondy/flux-demos
Introduction to FreeNAS development by John HixsoniXsystems
At SCALE 12x, John Hixson, Senior Software Developer at iXsystems, gave a his talk, "Introduction to FreeNAS development". FreeNAS has been around for several years now but development on it has been by very few people. Even with corporate sponsorshipt and a team of full time developers, outside interest has been minimal. Not a week goes by when a bug report or feature request is not filed. Documentation on how to develop on FreeNAS simply does not exist. Currently, the only way to come up to speed on FreeNAS development is to obtain the source code, read through it, modify it and verify it works. The goal of this paper is to create a simple FreeNAS application to demonstrate some of the common methods used when dealing with FreeNAS development, as well as showcase some of the API.
Acquia BLT for the Win, or How to speed up the project setup, development an...DrupalCamp Kyiv
Nikita Pohrebniak, Imagex
There are so many tools that can help you with every step of the development and deployment process. In this talk, we’ll explain why our company picked Acquia BLT, what it can do for you and how it can be customized to satisfy your needs.
Drupal Virtual Cafe #2, by DrupalCamp Kyiv
https://www.facebook.com/drupalcampkyiv/
Использование 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 билдов в сутки).
A complete guide of optimizing Magento performance systematically, including LAMP(Linux, Apache, MySQL, PHP) optimization, tuning inside Magento and useful tools.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
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.
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
2. About this session
Git+Capistrano for deployment
Mainly Capistrano
Overview - not too detailed
Input/feedback/questions from you guys
Lots of info online - links at the end
3. Show of hands please...
Some sort of automated deployment process
Git and Capistrano
Git only + SSH
FTP/SFTP
Aegir?
Drush?
Pantheon?
No idea!
13. Why capistrano
Looked at a few options (git hooks, Jenkins,
capistrano)
capistrano - simple, does the job for us
Drupal deploy scripts available (capdrupal,
capistrano-drupal)
19. How to deploy
1. Make local changes
2. git commit and push
3. $ “cap deploy”
That’s it
20. What “cap deploy” does
SSH into server
Takes site offline
Backup of db (using drush & backup_migrate)
Clones latest revision from dev branch
Points site root to that latest clone
Runs update db
Reverts features
Clears cache
Puts site back online
21. Directory structure on server
current -> releases/20130805211651 (symlink)
releases/
20130801135258
20130805211547
20130805211651
shared/
cached-copy/
files/
settings.php
NB: running “cap deploy:setup” creates the dir structure
22. Before “cap deploy”
current -> releases/20130805211651
releases/
20130801135258
20130805211547
20130805211651
shared/
cached-copy/
files/
settings.php
23. After “cap deploy”
current -> releases/20130805212640 (points to new clone)
releases/
20130801135258
20130805211547
20130805211651
20130805212640 <- new git clone
shared/
cached-copy/
files/
settings.php
24. Local directory structure
app/ <- drupal root
config/
deploy.rb <- project specific settings
dev.rb <- site specific settings
live.rb
Capfile
29. Customisations to Capdrupal
“backup db”, “update db”, “revert features”
= not relevant when only updating CSS
so we removed them from deploy task
can be run by themselves when needed
31. Potential improvements
Create backups of db, that can be rolled back
(e.g new copy of db and settings.php for each
new deploy)
Fully automated deployment, continuous
integration
32. References
YouTube:
- Simple and powerful site deployment with capistrano - by
Kim Pepper - http://youtu.be/ulK-lhv8eI0
- DrupalCon Munich 2012: Deploy with Capistrano - by
Michael Priest - http://youtu.be/fvkiWfjmKQ4
Github:
https://github.com/antistatique/capdrupal
https://github.com/previousnext/capistrano-drupal
https://github.com/capistrano
Google capistrano drupal
33. Feel free to get in touch
Farez Rahman
slideshare.net/onsavvy
onsavvy.com/profile/farez-rahman
d.o: user/261497
Twitter: farez
farez @ redkeydigital.com