Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Getting Started with Capistrano and Ruby on Rails Slides taken from
Creating Web Services with Ruby on Rails Robert Thew Internet and Web Systems II.
Modern app development Continuous value delivery and rapid response to change.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
11 WORKING WITH COMPUTER ACCOUNTS Chapter 8. Chapter 8: WORKING WITH COMPUTER ACCOUNTS2 CHAPTER OVERVIEW  Describe the process of adding a computer to.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
Automating Drupal Deployment Dominique De Cooman.
Update your servers to service pack 2. Ensure that the environment is fully functioning. Migrate to 64 bit servers is necessary. REVIEW UPGRADE BEST PRACTICES.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Chapter 2: Installing and Upgrading to Windows Server 2008 R2 BAI617.
Introduction to Group Policy
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Chapter 2 Applying Practical Automation Speaker : Chuang-Hung Shih Date :
Brakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code Justin Collins Tin Zaw AppSec USA September 23, 2011.
Sonam Chauhan Corporate Express B2B Change Management at Corporate Express.
Chapter Fourteen Windows XP Professional Fault Tolerance.
AUTOBUILD Build and Deployment Automation Solution.
Updating FireRMS Presented by Dan Cook Implementation Team Lead ZOLL.
Version control Using Git Version control, using Git1.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
LINUX TERMINAL TUTORIAL EDCI 339 – Online Presentation by Roop Rahal.
Subversion (SVN) Tutorial Source:
MSDC MiniSeed Data Completeness S. Pintore. Scenario A network of SeisComP Remote Server archiving data on mass storage creating on each storage a Peripheral.
Version Control. How do you share code? Discussion.
GIT and JUnit Dr. Andrew Wallace PhD BEng(hons) EurIng
Version Control Group Wen-hao Zeng Richard Liou. 2 Introduction Several groups develop the ITS concurrently Accumulated modification of files can cause.
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
A Networked Machine Management System 16, 1999.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
Drush: The Drupal Shell Utility Trevor Mckeown Founder & Owner Sublime Technologies
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Installing Applications in FreeBSD lctseng. Computer Center, CS, NCTU 2 Before we start  Permission issue root: the super user Like administrator in.
Transition to SVN server: follow up P.Hristov 24/01/2008.
SVN code server for AliRoot P.Hristov 18/10/2007.
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
Continuous Deployments using SSDT
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Linux Basics Part 2. VIM Editor vi improved Installed on most Linux machines Can be a bit confusing at first... o Cheat sheets FTW Other popular editors:
GlassFish Gem Vivek Pandey Sun Microsystems, Inc.
Version Control for PL/SQL
Subversion Subversion is a brand of version control software that is frequently used to store the code and documentation of a project so as to permit.
Configuration Management using Ansible
Shared Services with Spotfire
Deploy, Manage, and Scale Your Apps with OpsWorks, Elastic Beanstalk, and CodeDeploy Part 1 – Elastic Beanstalk © 2017 Amazon Web Services, Inc. and.
LECTURE 2: Software Configuration Management
Version Control.
Version control, using Git
Part 3 – Remote Connection, File Transfer, Remote Environments
Maintaining software solutions
Capistrano David Grayson Las Vegas Ruby Meetup
Advanced Integration and Deployment Techniques
Enhancing Cloud Foundry with CLI Plugins
Dev-Staging-Prod Environment Guidelines
Source Code Management
Intro to Config Management Using Salt Open Source
X in [Integration, Delivery, Deployment]
Introduction to Ansible
Git CS Fall 2018.
Patrick Cozzi University of Pennsylvania CIS Fall 2012
AtlasSetup & Evolution
Presentation transcript:

Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c

What is Mina?  Ruby gem  Fast deployer and server automation tool  Creates Mina tasks (shell script) preset to Create new directory Make symbolic to common resources Point public directory to new directory Clean up old data  Uploads to server & executes from local  Requires SSH connection Git repository Permission to change server config.

Alternatives  Capistrano Remote server automation tool Heavy on Ruby/Rails related features Large learning curve  Capistrano Capistrano  Vlad Similar to Mina  Vlad the Deployer Vlad the Deployer

What’s the difference?  Capistrano and Vlad Each command run separately on their own SSH sessions  Mina Entire procedure generated as remote run Bash script  Only one SSH session created for whole shell  Reduces SSH connection overhead Mina should be faster to deploy Requires less Ruby knowledge to implement.

Why Automated Deployment?  Saves time  Minimizes downtime during deployment  Reduces human mistakes Missing files Uploading wrong files  Shared between multiple developers in a team  Usually tied to source code control system

Why Automated Deployment?  Deploying with Git Hooks? Git generates URL in reference to PHP script to perform tasks Hole exposed due to URL URL can be used to deploy files manually using PHP  Cleanup, roll back and lock cmds need to be created All tasks handled in a simple Rake file tutorial link Mina task example

Case Study: Knights Capital  Lost $172,000+ per second for 45 minutes 2700 seconds in 45 minutes $465 million loss  Went bankrupt in 2012 due to failed deployment and cleanup procedures  New code deployed to 7 of 8 servers  New deploy did not remove old code  8 th server utilized old code errors prompted warning messages to developers but were ignored  No one reviewed deployment records

Steps for Deploying with Mina 1. Prepare Server Layout New three directory layout required for Mina (example)example Releases, Shared and Current directories created Change Document Root to point to current directory  Location of symlink which references newest version and shared files 2. Install Mina $ gem install mina 3. Setup Mina with Wordpress Git repository with Wordpress source code Generate config/deploy.rb shell script  Cleanup unnecessary lines of code  Configure server/login info  Configure Setup, Deploy and Rollback task

Steps for Deploying with Mina  SSH to server  Create new directory featuring your domain (root access)  Set ownership of new directory to user (vs server)  Create Mina directory structure on local machine $ mina setup  Deploy current release (version) of code Update code Commit change Push to repo $ mina deploy  To roll back $ mina rollback

Questions 1. What is Mina? Deployer & server automation tool that uses a shell script to handle tasks. 2. What is a Rake file? A rake file is the shell script which holds tasks or blocks of code to be run in Ruby. 3. What is one benefit to using automated deployment? Explain this benefit. More secure Saves time Minimizes downtime Reduces human mistakes