UNPKG

grunt-hotbox-deploy

Version:

Grunt task for deploying front-end bundles to Hotbox

200 lines (146 loc) 6.49 kB
# grunt-hotbox-deploy > Grunt task for deploying front-end bundles to Hotbox ## Getting Started This plugin requires Grunt `~0.4.5` If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: ```shell npm install grunt-hotbox-deploy --save-dev ``` Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: ```js grunt.loadNpmTasks('grunt-hotbox-deploy'); ``` ## The "hotbox_deploy" task ### Overview ```js grunt.initConfig({ hotbox_deploy: { options: { AccessKeyId: '<s3 access key>', SecretKey: '<s3 secret key>', bucket: '<bucket name>', endpoint: '<s3 server>', dest: '.build', prodDest: '___prod' }, your_target: { versionedStatic: { files: [{ src: ['**/*.*'], cwd: 'static/' }] }, static: { files: [{ src: ['js/landings/loader.js'], cwd: 'static/' }] }, templates: { files: [{ src: ['*.html'], cwd: 'templates/' }] } } } }); ``` ### Файл конфига `aws-config.json` содержит аналогичные опциям параметры, конфиг гранта приоритетней. `aws-config.local.json` перебивает `aws-config.json`, нужно добавить в `.gitignore` Формат содержимого aws-config.json или aws-config.local.json: ```json [ { "name": name1, ...options }, { "name": name2, ...options2 }, ] ``` или ```json { ...options } ``` Если данные хотя бы в одном из файлов представлены в виде массива, то при выполнении в консоли нужно будет выбрать используемый конфиг по ключу name. На выбор предоставляются конфиги одного из файла, в зависимости от того, длина какого массива больше, при этом конфиги без поля name игнорируются. Если конфиги с выбранным именем есть в обоих файлах, то они сливаются, опции из aws-config.local.json приоритетнее. При запуске с опцией --project=somename автоматически выбирается конфиг с name == somename. При выполнении с флагом --deploy-to-prod-branch, название ветки можно не указывать. В таком случае будет использовано значение из опции prodBranch (по умолчанию omega-test). Параметром --config можно задать файл, который будет использоваться вместо aws-config.local.json. ### Options #### options.AccessKeyId Type: `String` Default value: `''` Ключ доступа к S3 #### options.SecretKey Type: `String` Default value: `''` Секретный ключ для достпа к S3 #### options.bucket Type: `String` Default value: `''` Имя бакета, в который надо залить бандл #### options.endpoint Type: `String` Default value: `'hb.bizmrg.com'` Адрес сервера, на который надо залить бандл #### options.dest Type: `String` Default value: `'.build'` Временная папка для сборки. Чистится перед запуском сборки. Нужно добавить в `.gitignore` #### options.prodDest Type: `String` Default value: `'___prod'` Папка, в которую копируются шаблоны, при выкладке в бой командой `grunt hotbox_deploy --deploy-to-prod-branch=<branch>`, где `<branch>` имя ветки для выкладки в продакшн, предварительно собранной в тест. #### `<target>`.versionedStatic Type: `Object` Default value: `undefined` Настройки для версионированной статики. #### `<target>`.versionedStatic.files Type: `Object` Default value: `undefined` Массив настроек поиска файлов. #### `<target>`.versionedStatic.files[i].cwd Type: `Object` Default value: `undefined` Путь, относительно которого работать с файлами. Аналогичен стандартной настройке grunt #### `<target>`.versionedStatic.files[i].src Type: `Object` Default value: `undefined` Набор масок поиска файлов. Аналогичен стандартной настройке grunt #### `<target>`.static Type: `Object` Default value: `undefined` Настройки для не версионированной статики. #### `<target>`.static.files Type: `Object` Default value: `undefined` Массив настроек поиска файлов. #### `<target>`.static.files[i].cwd Type: `Object` Default value: `undefined` Путь, относительно которого работать с файлами. Аналогичен стандартной настройке grunt #### `<target>`.static.files[i].src Type: `Object` Default value: `undefined` Набор масок поиска файлов. Аналогичен стандартной настройке grunt #### `<target>`.templates Type: `Object` Default value: `undefined` Настройки для шаблонов. #### `<target>`.templates.files Type: `Object` Default value: `undefined` Массив настроек поиска файлов. #### `<target>`.templates.files[i].cwd Type: `Object` Default value: `undefined` Путь, относительно которого работать с файлами. Аналогичен стандартной настройке grunt #### `<target>`.templates.files[i].src Type: `Object` Default value: `undefined` Набор масок поиска файлов. Аналогичен стандартной настройке grunt