Development and Deployment

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

Version Control 1.  Version control (or revision control) is the term for the management of source files, and all of the intermediate stages as development.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
Development and Deployment Information Systems 337 Prof. Harry Plantinga.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Version control Using Git 1Version control, using Git.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Version control Using Git Version control, using Git1.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control System Lisa Palathingal 03/04/2015.
GIT.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
Getting Started with Git Presented by Jim Taylor Rooty Hollow, Owner Verizon Wireless, Senior Programmer/Analyst Git User for 6 years.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Version Control Systems
Version control and issue tracking options for IHE PCD
CS5220 Advanced Topics in Web Programming Version Control with Git
4 Version control (part 1)
Concurrent Versions System User guide for CS408
Version Control Systems
Version Control CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Git and GitHub primer.
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Version Control CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Version Control overview
Version Control with Subversion (SVN)
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
Version Control System using Git
Version Control with Git and GitHub
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
Lab 1 introduction, debrief
Version Control System
An introduction to version control systems with Git
An introduction to version control systems with Git
(Advanced) Web Application Development
Version Control with git
LECTURE 3: Software Configuration Management
An introduction to version control systems with Git
Subversion Basics Guide
Version Control System - Git
Version control with Git
CMPE/SE 131 Software Engineering February 14 Class Meeting
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Systems Analysis and Design I
Version Control with Git
Git GitHub.
Introduction to The Git Version Control System
Presentation transcript:

Development and Deployment Information Systems 337 Prof. Harry Plantinga Development and Deployment

Developing and Deploying These lab VMs will be going away after the semester ends How will you deploy the site? How will you save the source code so that you or others can work on it later?

Site Maintenance Your web site is up and running, and people are using it You want to change a page You edit the page.tpl.php file. Syntax error! Site goes down! You can't remember how to fix it. Site stays down! You have two people editing the same file. Site down! Work lost! What to do?

Development Strategies You will need live and development sites Devel site on your own VM Deploy site on calvincs.com Live site on client’s dreamhost account Ideally: one-button deployment

Deployment Deployment means uploading your site (www directory, databases) to a host Host must support PHP, MySQL, etc. Next lab: deployment on dreamhost (calvincs.com). Other hosts – same idea, different details Load your database onto their server Use FTP to load your /var/www/ directory onto their server Adjust configuration… Point your domain name to the new host Turn on caching Test Deploying your term project…

Deploying to Dreamhost Upload your database Create a database on host Export development Drupal database with mysqldump Import your database into Dreamhost server Upload your Web directory Zip your /var/www directory Copy to dreamhost server Unzip in appropriate directory Modify settings as needed settings.php – for logging in to the dreamhost database .htaccess – for finding your files

Revision Control: the problem… Have you ever lost work while writing a term paper? How do you collaborate on writing projects? Have you ever made changes to a computer program that caused it to stop working? How would you collaborate on a development project like a website? What if you have two versions of your website and need to manage merges and synchronization?

Revision Control Revision control (or source control or version control) systems help you maintain old and new versions of code view and reconcile difference between versions check out and check in code keep track of every change: who, why? revert to previous versions of your code

Revision Control Systems Popular revision control systems CVS old, stable used by Drupal, sourceforge Subversion (SVN) newer, quite popular Install on your own PC! Git Newer, maybe most popular? Many others…

Drupal and CVS Check out the latest version of a drupal release: cvs - d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal checkout –r DRUPAL-5 drupal See what releases are available: cvs - d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal status -v CHANGELOG.txt Tags and Branches: Each new version of Drupal is a new branch Tags are snapshots at a point in time of a particular branch Hint: use CVS to get code from drupal.org and use git or SVN to do revision control on your own code!

Git Designed for speed Originally designed and developed by Linus Torvalds for Linux kernel development Distributed (every working directory is a full respository) Very popular GUI support on various operating systems

Git Commands git-init(1) to create a new repository. git-show-branch(1) to see where you are. git-log(1) to see what happened. git-checkout(1) and git-branch(1) to switch branches. git-add(1) to manage the index file. git-diff(1) and git-status(1) to see what you are in the middle of doing. git-commit(1) to advance the current branch. git-reset(1) and git-checkout(1) (with pathname parameters) to undo changes. git-merge(1) to merge between local branches. git-rebase(1) to maintain topic branches. git-tag(1) to mark known point.

Sharing your Code When you pass off the website to your client, they will also need access to the source code. They could download it from the host via FTP or scp You could set up a repository on github.com This would allow multiple people to work on the site Free for open source projects Dreamhost has git – use push or clone to upload or download your site Or host on a site like github.com