Deploying a Site with Shared Resources: Difference between revisions

From Littledamien Wiki
Jump to navigation Jump to search
(Created page with "==TK== Take notes while deploying the Luzern and Luzern Pro websites. Category:CMS Documentation")
 
No edit summary
Line 1: Line 1:
==TK==
==TODO Develop a workflow that incorporates GIT==
Take notes while deploying the Luzern and Luzern Pro websites.
*Would require SSH access to the production server.
**Sites hosted by NameCheap and GoDaddy have SSH access.
**Fall back on FTP uploads.
 
==Site-specific files==
*Make sure to upload <code>/_config/app_config.php </code> with development settings disabled.
:This should be as simple as:
<syntaxhighlight lang="php">
define ("IS_DEV", false);
</syntaxhighlight>
*Do a full backup of the existing site if making significant structural changes.
**Try to save the archive outside of the web directory on the server.
**With SSH access:
<syntaxhighlight lang="bash">
tar -czvf [SITE_NAME]-[DATE_yymmdd].tar.gz file1 file2 dir1 dir2 ...
</syntaxhighlight>
::*Creates a gzipped archive named <code>[SITE_NAME]-[DATE_yymmdd].tar.gz</code> from the files <code>file1 file2 dir1 dir2 ...</code>
::*<code>-c</code> create an archive
::*<code>-z</code> compress the archive
::*<code>-v</code> verbose mode
::*<code>-f</code> specifies the name of the archive file
:*Without SSH access:
:**Site cPanel > File Manager > select the files and directories to archive & compress
:**Be aware that the cPanel File Manager usually imposes a size limit on the files being compressed and doesn't work well with a large amount of images.  
:*Always download the archive after creating it.
*Copy local files to server.
**Collect files into a single archive and upload.
**With SSH access use command line to extract the files.
**Without SSH access use cPanel File Manager.
 
*TODO: Git workflow
 
==Shared files and libraries==
*<code>[COMMON_LIB]_ajax/</code> >> <code>/_hostmgr/_ajax/</code>
*<code>[COMMON_LIB]_classes/</code> >> <code>/_classes/</code>
*<code>[COMMON_LIB]_lib/</code> >> <code>/_lib/</code><br>'''TODO''' This directory needs to be cleaned up. Possibly the subdirectory <code>error/</code> is the only one that needs to be uploaded.
*<code>[COMMON_LIB]_templates/</code> >> <code>/_hostmgr/_templates/</code>
*<code>[COMMON_LIB]hostmgr/sections/</code> >> <code>/_hostmgr/sections/</code>
*<code>[COMMON_LIB]scripts/</code> >> <code>/scripts/</code>
**<code>jquery/</code>
**<code>littled/</code>
***JavaScript code should be copied from the minified JS library file to its corresponding <code>*-source.js</code> file.
***JavaScript code uploaded to server should be minified.
***Do not upload <code>*-source.js</code> files.
 
*TODO: Git workflow
 
==Database==
*Do a complete backup of the existing database before making any structural changes.<br />Naming convention <code>[SITE_NAME]-[DATEYYMMDD].sql</code>
*Store all updates to database data and structure in local <code>_dbo/</code> directory.
*Update production database using cPanel > phpMyAdmin
 
[[Category:CMS Documentation]]
[[Category:CMS Documentation]]

Revision as of 03:42, 20 March 2012

TODO Develop a workflow that incorporates GIT

  • Would require SSH access to the production server.
    • Sites hosted by NameCheap and GoDaddy have SSH access.
    • Fall back on FTP uploads.

Site-specific files

  • Make sure to upload /_config/app_config.php with development settings disabled.
This should be as simple as:
define ("IS_DEV", false);
  • Do a full backup of the existing site if making significant structural changes.
    • Try to save the archive outside of the web directory on the server.
    • With SSH access:
tar -czvf [SITE_NAME]-[DATE_yymmdd].tar.gz file1 file2 dir1 dir2 ...
  • Creates a gzipped archive named [SITE_NAME]-[DATE_yymmdd].tar.gz from the files file1 file2 dir1 dir2 ...
  • -c create an archive
  • -z compress the archive
  • -v verbose mode
  • -f specifies the name of the archive file
  • Without SSH access:
    • Site cPanel > File Manager > select the files and directories to archive & compress
    • Be aware that the cPanel File Manager usually imposes a size limit on the files being compressed and doesn't work well with a large amount of images.
  • Always download the archive after creating it.
  • Copy local files to server.
    • Collect files into a single archive and upload.
    • With SSH access use command line to extract the files.
    • Without SSH access use cPanel File Manager.
  • TODO: Git workflow

Shared files and libraries

  • [COMMON_LIB]_ajax/ >> /_hostmgr/_ajax/
  • [COMMON_LIB]_classes/ >> /_classes/
  • [COMMON_LIB]_lib/ >> /_lib/
    TODO This directory needs to be cleaned up. Possibly the subdirectory error/ is the only one that needs to be uploaded.
  • [COMMON_LIB]_templates/ >> /_hostmgr/_templates/
  • [COMMON_LIB]hostmgr/sections/ >> /_hostmgr/sections/
  • [COMMON_LIB]scripts/ >> /scripts/
    • jquery/
    • littled/
      • JavaScript code should be copied from the minified JS library file to its corresponding *-source.js file.
      • JavaScript code uploaded to server should be minified.
      • Do not upload *-source.js files.
  • TODO: Git workflow

Database

  • Do a complete backup of the existing database before making any structural changes.
    Naming convention [SITE_NAME]-[DATEYYMMDD].sql
  • Store all updates to database data and structure in local _dbo/ directory.
  • Update production database using cPanel > phpMyAdmin