Skip to content
This repository has been archived by the owner on Mar 9, 2024. It is now read-only.

Build, Test, Obfuscate, Package, Deploy; Manages all change management tasks: Infra, DB, Config.

Notifications You must be signed in to change notification settings

leblancmeneses/RobustHaven.DevOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RobustHaven.DevOps

Since 2013 we have used this DevOps approach on all of our .NET projects. This project solves db, config, infrastructure change management and distributed team integration issues with run-initial-setup.ps1, run-after-update.ps1, and run-dbrestore.ps1. This is a key integration component to a complete continuous integration and continuous deployment system.

March 16, 2013 - DevOps: Integration, Deployment - Continuous Delivery

Usage Example

This is an archived repository and is unsupported.

Concepts

Your devs use daily and locally execute: run-after-update.ps1, run-dbrestore.ps1. TeamCity runs your continuous integration and outputs nuget artifacts our script creates that can be integrated into octopus deploy for continuous deployment.

Conventions

  1. Download this project into a folder called "_RobustHaven.DevOps" in the root of your project folder.

Git repos can do this:

git submodule add https://github.com/leblancmeneses/RobustHaven.DevOps.git _RobustHaven.DevOps

SVN repos can use svn externals to accomplish the same.

  1. "_RobustHaven.DevOps" expects the following project structure on your root.
	_RobustHaven.DevOps - readonly; never change.
	build - should contain:  _init.include, _init.ps1
	Database - should contain: nested folders of names of your databases that contain .sql migration scripts.
	InfraScripts - should contain: .ps1 migration scripts.
	run-after-update.ps1
	run-dbrestore.ps1
	run-deploy.ps1
	run-initial-setup.ps1

Your can copy _RobustHaven.DevOps\SampleRoot and update build_init.ps1.
"build_init.ps1" is your build definition and hook into the "_RobustHaven.DevOps" build system.

  1. TeamCity integration "Script source:" section:
	$ScriptPath = pwd
	& "$ScriptPath\tools\psake.4.2.0.1\tools\psake.ps1" -buildFile "$ScriptPath\Build.ps1" -taskList default -properties @{ IsInTeamBuild=$true; DevEnvironment='production'; PassYourCustomVariables=$false; }
	if($psake.build_success -eq $false){exit 1} else {exit 0}

About

Build, Test, Obfuscate, Package, Deploy; Manages all change management tasks: Infra, DB, Config.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages