Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AOEpeople/magento-deployscripts
https://github.com/AOEpeople/magento-deployscripts
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/AOEpeople/magento-deployscripts
- Owner: AOEpeople
- License: gpl-3.0
- Created: 2014-11-18T19:23:57.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-05T17:26:21.000Z (over 7 years ago)
- Last Synced: 2024-11-14T17:03:57.916Z (28 days ago)
- Language: Shell
- Size: 13.6 MB
- Stars: 69
- Watchers: 46
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-magento - Deploy Scripts - Scripts used to build/package, deploy and install Magento projects. (Deployments / Full Page Caching)
README
Magento Deployment Scripts
==========================Author: Fabrizio Branca
This is a collection of scripts used to build/package, deploy and install Magento projects.
*Import note:*
Never use the master branch in your build jobs. Instead clone a specific tag:
```
git clone -b v1.0.0 https://github.com/AOEpeople/magento-deployscripts.git
```
Since these scripts might change significantly and your deployment process might fail otherwise.### Overview
* [build.sh](#buildsh)
* [deploy.sh](#deploysh)
* [install.sh](#installsh)### Usage
Add the magento-deployment scripts to your project using Composer. Checkout composer.json example file below.
### Introduction
#### build vs. provisioning vs. deployment vs. installation
Checkout http://www.slideshare.net/aoepeople/rock-solid-magento/91 (and the next slides after that)
TODO: add more information here
```
Usage:
./deploy.sh -r -t -e [-u ] [-p ] [-a ] [-d]
-r Package url (http, S3 or local file)
-t Target dir
-u Download username
-p Download password
-a aws cli profile (defaults to 'default')
-d Also download and install .extra.tar.gz package
```Generated files
* projectName.tar.gz
* projectName.extra.tar.gz
* MD5SUMS#### Base package vs extra package
Checkout http://www.slideshare.net/aoepeople/rock-solid-magento/55 (and the next slides after that)
Example Configuration/tar_excludes.txt content
```
.git*
./htdocs/install.php
./htdocs/includes
./htdocs/downloader
./htdocs/pkginfo
./htdocs/LICENSE*
./htdocs/RELEASE_NOTES.txt
./htdocs/phpunit.xml*
./htdocs/*.sample
./htdocs/var
./htdocs/media
./tools/composer.phar
./.modman/Aoe_TemplateHints
./.modman/EcomDev_PHPUnit
```#### Expected project files/directories
* composer.json
* tools/composer.phar (This should be part of your project repo. Obviously this can't be pulled in via Composer. Chicken and egg, problem... :)
* tools/modman (This is part of https://github.com/AOEpeople/magento-deployscripts which is being pulled in via composer)
* htdocs/index.php
* .modman directory: The modules located here can be directly committed to the main project repository (e.g. if they're project specific) or they can be pulled in via Composer)
* .modman/ProjectName_Base: There's no exclipict check for this base module to be present, but this is a recommendation. Add the basic project setup (local.xml, htaccess,...) to this base module.
* .modman/.basedir
* [Configuration/tar_excludes.txt](#tarexcludes) (this file controls what goes in the base package and what goes in the extra package. See below)Additionally install.sh expects/checks these files:
* tools/systemstorage_import.sh (This is part of https://github.com/AOEpeople/magento-deployscripts which is being pulled in via composer)
* tools/apply (This is part of https://github.com/AOEpeople/EnvSettingsTool which is being pulled in via composer)
* tools/n98-magerun.phar (This is part of https://github.com/AOEpeople/magento-deployscripts which is being pulled in via composer)
* Configuration/settings.csv (This is being used by EnvSettingsTool to apply all environment specific settings during the installation process)
* Configuration/mastersystem.txt (Defines which system is the master system. E.g. "production". This is required to determine if the systemstorage backup needs to be imported during the installation process.)
* Configuration/project.txt (project name. E.g. "acme")These files and folders can easily be constructud by using following composer.json as a basis for your project
```
{
"name": "my/project",
"minimum-stability": "dev",
"require": {
"aoepeople/composer-installers": "*",
"aoepeople/envsettingstool": "*",
"tmp/magento_community": "1.9.0.1"
"aoepeople/magento-deployscripts": "1.0.3"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/AOEpeople/composer-installers.git"
},
{
"type": "vcs",
"url": "https://github.com/AOEpeople/EnvSettingsTool.git"
},
{
"type": "package",
"package": {
"name": "tmp/magento_community",
"type": "magento-source",
"version": "1.9.0.1",
"dist": {
"url": "https://github.com/OpenMage/magento-mirror/archive/1.9.0.1.zip",
"type": "zip"
}
}
},
{
"type": "vcs",
"url": "https://github.com/AOEpeople/magento-deployscripts.git"
}
],
"config" : {
"bin-dir": "tools"
}
}
```#### Auto-generated meta files
Following files will be stored inside the base package
* build.txt
* htdocs/version.txt (will be accessible from the web)### opsworks_*.sh
### systemstorage_import.sh
### *lint.sh
### Tools
#### n98-magerun
#### modman