Skip to content

Instantly share code, notes, and snippets.

@oxyc
Created August 8, 2012 16:36
Show Gist options
  • Save oxyc/3296487 to your computer and use it in GitHub Desktop.
Save oxyc/3296487 to your computer and use it in GitHub Desktop.

Funktioner

Init

Starta ett nytt projekt i nuvarande katalogen. Detta skulle vara gjort så att man inte behöver komma ihåg alla detaljer om det som skall göras.

  • Git init
  • Lägg till github repo som remote
  • Skapa config filer för deploy script
  • Installera valfritt projekt: drupal, wordpress, html5boilerplate
  • Skapa initial commit
  • Skapa staging environment
  • Skapa compass/grunt stuff

Denna funktion har något lägre prioritet eftersom den skulle finnas för att underlätta arbete

Build

Installera valfritt projekt, hit delegeras init funktionen vid rätt skede.

  • Drupal
  • Wordpress
  • HTML5 Boilerplate
  • Valfri git repo (ex. facebook app)

Deploy

Flytta ett projekt live environment.

  • Kör tester
  • Kör Makefile/grunt/etc
  • Tillåt deployment avbrytning pga. problem
  • Flytta kod live (valfritt)
  • Flytta valfri directory live med rsync/ftp (drupal files)
  • Flytta databas live (valfritt)

Stage

Flytta ett projekt till staging environment. Samma funktionalitet som deploy, dock skall man kunna ange defaults för vad som skall göras så att ex. flyttning till staging skall gå snabbare med färre prompts, därför att detta ett skillt kommando.

DB

Databas verktyg, hit delegeras deploy, stage etc.

  • Sync mellan environments
  • Möjlighet att köra predefined string replacement vid sync
  • Skapa backup (för alla environments)
  • Restore valfri backup (snabbval för senaste backup)
  • Möjlighet att köra predefined string replacement på valfri fil

SSH

Anslut till live över ssh. Eftersom vi kommer måsta hantera nycklar/lösenord med detta system tycker jag man kan integrera gconnects funktionalitet.

LFTP

Se SSH.

Sync

Synkronisera environments, hit delegeras diverse andra funktioner.

  • flyttning av kod mellan alla enviroments
  • flyttning av databas mellan alla environments
  • flyttning av untracked file mellan alla environments

Status

Printta status om projektet

  • När projektet skapades
  • När projektet senaste synccade med staging
  • När projektet senaste synccade med live
  • Test resultat
  • Viktiga filer som saknas
  • Vem som har checkouts
  • Kör drush status på live?

Scaffold

Skapa diverse enskilda filer.

  • htaccess
  • compass config
  • deployment system config
  • gitignore
  • editor config
  • drupal modul

Övrigt

  • Skulle ha en config fil i projektets rot som skulle sökas rekursivt uppåt, dvs så som .gitattributes fungerar.
  • Standard flaggor, force, quiet, verbose, version, help
  • Hooks för att per projekt hooka in egna funktioner, dessa skulle gå att ange i config filen.
  • Integrering för att köra drush funktioner på live/staging borde man fundera på.
  • Om det kodas själv måste det göras testbart så att man förr eller senare kunde skapa test.
  • Fail-safe
  • Man-pages
  • Autocomplete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment