continuous integration with windows azure pack

48
@DNNCon Don’t forget to include #DNNCon in your tweets! CONTINUOUS INTEGRATION AND PUBLISHING IN THE CLOUD Jess Coburn @jesscoburn

Upload: jess-coburn

Post on 09-Jul-2015

153 views

Category:

Technology


1 download

DESCRIPTION

Goes over setting up a staging and production branch in git and then linking them to production and staging websites for instant updating

TRANSCRIPT

Page 1: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

CONTINUOUS INTEGRATION

AND PUBLISHING IN THE CLOUDJess Coburn

@jesscoburn

Page 2: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

THANKS TO ALL OF OUR GENEROUS SPONSORS!

Page 3: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

1. Design our workflow

2. Install Git

3. Create GitHub Repository

4. Create Local Repository

5. Link Website with Github Repository

6. Sync with Github

7. Publish

8. Publish Staging, Production and Hotfixes

Presentation Overview

Page 4: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Because Fat Fingers exist!

Why Source Control?

Page 5: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Designing Our Workflow

C0 C4 C10

Production

Staging

HotFixes

C0 C1 C2

C0 C6 C10

C.. C9 C10

Page 6: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Working With Branches

f9ec2 e3a5c b3a24 34a3c 87c2f ff33e

master

hotfix01 staging

Page 7: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Continuous Integration Diagram

Local Repo

Local Repo

Code Repo|_ Master|_ Staging|_ Etc..

Production

Staging

Page 8: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize GitHub Repositories

Page 9: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize GitHub Repositories

Page 10: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize GitHub Repositories

Page 11: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize GitHub Repositories

Page 12: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 13: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 14: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 15: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 16: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 17: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Remote Repository

Page 18: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Installing Git

Page 19: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Installing Git

Page 20: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Installing Git

Page 21: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Local Repository

git init – Initializes a local repository for code.

Page 22: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Local Repository

Page 23: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Local Repository

git add filename – adds file to local repositorygit add --all – Adds everything but those in the .gitignore file.

Page 24: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Initialize Local Repository

git commit –m “text” -- Makes a local commit and provides notes.

Page 25: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Add GitHub Repository

git remote add NAME URL – Adds a remote repository and names it.

Page 26: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Pull GitHub Repository Files

git pull github master - Pulls the master branch from our githubremote.

Page 27: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Push My Files to GitHub

git push github master – Pushes any changed files back up to the master branch

Page 28: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

My Site Automatically Updates

Page 29: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

My Site Automatically Updates

Page 30: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Create Staging Branch & Push

git checkout –b staging – creates a staging branch and moves us into it.

git push github staging – performs a sync.

git branch – Shows the current branchs and where the “HEAD” pointer is.

Page 31: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Establish Staging Branch with Staging Site

Page 32: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Establish Staging Branch with Staging Site

Page 33: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Establish Staging Branch with Staging Site

Page 34: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Establish Staging Branch with Staging Site

Page 35: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Establish Staging Branch with Staging Site

Page 36: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Page 37: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Page 38: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Page 39: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

But What About Production?

Page 40: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Merging Master and Staging

git branch – check branch statusgit checkout master – switch to master repositorygit merge staging – merging the staging with our master

Page 41: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Merging Master and Staging

git branch – check branch statusgit checkout master – switch to master repositorygit merge staging – merging the staging with our master

Page 42: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Reviewing Portal

Page 43: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Reviewing Portal

Page 44: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Page 45: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

But Wait…

Page 46: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Defines files you don’t want to push to

repository.

There’s more … .gitignore

web.config*.exe[Dd]ebug.*Obj/

https://github.com/dnnsoftware/Dnn.Platform/blob/development/.gitignore

Page 47: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

Automatically sync’d with latest master build of DNN?

What else?

Page 48: Continuous Integration With Windows Azure Pack

@DNNConDon’t forget to include #DNNCon in your tweets!

CONTINUOUS INTEGRATION

AND PUBLISHING IN THE CLOUDJess Coburn

@jesscoburn