{"id":22362781,"url":"https://github.com/danmasta/deploy","last_synced_at":"2026-05-10T05:11:29.917Z","repository":{"id":57105744,"uuid":"108046495","full_name":"danmasta/deploy","owner":"danmasta","description":"Simple deploy tool for AWS Elastic Beanstalk and Docker","archived":false,"fork":false,"pushed_at":"2018-02-12T06:19:51.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-24T16:19:29.155Z","etag":null,"topics":["aws","cli","container","deploy","docker","ecr","elastic-beanstalk"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danmasta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-23T22:18:06.000Z","updated_at":"2023-02-13T22:53:01.000Z","dependencies_parsed_at":"2022-08-21T02:00:32.540Z","dependency_job_id":null,"html_url":"https://github.com/danmasta/deploy","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmasta%2Fdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmasta%2Fdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmasta%2Fdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danmasta%2Fdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danmasta","download_url":"https://codeload.github.com/danmasta/deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245678900,"owners_count":20654738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cli","container","deploy","docker","ecr","elastic-beanstalk"],"created_at":"2024-12-04T17:11:43.121Z","updated_at":"2026-05-10T05:11:29.871Z","avatar_url":"https://github.com/danmasta.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deploy\nEasy deployment to AWS ECR repositories and Elastic Beanstalk environments using docker and aws cli\n\nFeatures:\n* Easy to use\n* Build and tag docker images\n* Push docker images to private ECR registries\n* Deploy applications to elastic beanstalk environments\n* Interactive cmd line utility\n* Non-interactive mode for easy deployments from CI tools\n* Supports deployment to multiple AWS regions\n\n## About\nWe needed a better way to package and deploy apps. This package aims to make deployments to multiple elastic beanstalk apps and environments really simple. It can be used as a non-interactive cmd line utility, required and used programatically, or as an interactive cmd line prompt.\n\n## Usage\nInstall globally with npm\n```bash\nnpm install -g @danmasta/deploy\n```\nRun the deploy script\n```bash\ndeploy\n```\n*For more usage info check out the [examples](#examples)*\n\n## Options\nOptions can be passed via cmd line arguments, as an object if you require the package programatically, or stored with your other configuration if using a [config](https://github.com/danmasta/config) package.\n\nName | Alias | Type | Desription\n-----|------ |------|-----------\nname | n | string | Docker image name\nversion | v | string | What version to tag the docker image\necrUri | u | string | ECR repository uri to push docker image to\nregion | r | string\\|array | AWS region(s) to deploy to\neb | | string\\|boolean | If true will trigger the elastic beanstalk deploy step\nebApp | a | string | Elastic Beanstalk application name\nebEnv | e | string | Elastic Beanstalk environment name\nebBucket | b | string | AWS s3 bucket name to push application zip to\ndockerrun | d | string | Where is your projects dockerrun file located\noutputDir | o | string | Where to save application zip before uploading\nsilent | s | string\\|boolean | If false no output will be logged\ninteractive | i | string\\|boolean | If true will trigger interactive mode\nregionList | | string\\|array | List of AWS region(s) to show as selection options in interactive mode\nhelp | h | boolean | Show help menu in console\n\n*It's really simple to store default deploy opts in config and just run `deploy`*\n\n## Setup\nCheck out the [wiki](https://github.com/danmasta/deploy/wiki) for some basic instructions to help get you started with docker and aws. These may not be exhaustive, but should be enough to get you headed in the right direction\n* [Windows](https://github.com/danmasta/deploy/wiki/Setup-Windows)\n* [Mac](https://github.com/danmasta/deploy/wiki/Setup-Mac)\n\n## Examples\n### Use [config](https://github.com/danmasta/config) to set defaults\n```javascript\n// ./config/default.js\nmodule.exports = {\n    deploy: {\n        name: 'my-app',\n        version: null,\n        region: 'us-east-1',\n        eb: true,\n        ebApp: 'my-app',\n        ebEnv: 'my-app-prod',\n        ecrUri: '\u003cACCOUNT_ID\u003e.dkr.ecr.\u003cREGION\u003e.amazonaws.com',\n        ebBucket: 'elasticbeanstalk-\u003cREGION\u003e-\u003cACCOUNT_ID\u003e',\n        dockerrun: './Dockerrun.aws.json',\n        outputDir: './dist/deploy',\n        interactive: true,\n        regionList: [\n            'us-west-2',\n            'us-east-1',\n            'eu-west-1',\n            'ap-northeast-1'\n        ]\n    }\n};\n```\n```javascript\n// ./config/qa1.js\nmodule.exports = {\n    deploy: {\n        ebEnv: 'my-app-qa1',\n        regionList: [\n            'us-east-1',\n        ]\n    }\n};\n```\n\n### Multiple Configs / Environments\nSince this package uses the [env](https://github.com/danmasta/env) and [config](https://github.com/danmasta/config) pacakges, you can easily switch config values with cmd args. So if you have a config structure like this\n```\n./config/default.js\n./config/production.js\n./config/staging.js\n./config/qa1.js\n./config/qa2.js\n```\nYou can then load deploy values for a specific environment by just running\n```bash\ndeploy --env production --config qa1\n```\n\n### Use non-interactive mode to deploy from your CI tool\n```\ndeploy --eb -i false -v 2.1.5 -n app -a app -e app-prod -u ... -b ... -r us-east-1 -r ap-south-1\n```\n\n### Require the package and run using gulp\n```javascript\nconst gulp = require('gulp');\nconst deploy = require('@danmasta/deploy');\nconst pkg = require('./package');\n\ngulp.task('deploy', gulp.series('tests'), () =\u003e {\n\n    return deploy({\n        interactive: false,\n        name: 'app',\n        version: pkg.version,\n        region: ['us-east-1'],\n        eb: true,\n        ebApp: 'app',\n        ebEnv: 'app-prod',\n        ecrUri: '...',\n        ebBucket: '...'\n    });\n\n});\n```\n\n### Dockerrun Examples\nCheck out the [wiki](https://github.com/danmasta/deploy/wiki) for some examples on to configure your dockerrun files. I like to use the AWS multi-docker AMI for my environments, and then just configure one or more containers for each app\n* [Single container example](https://github.com/danmasta/deploy/wiki/Dockerrun-Example-Single-Container)\n* [Multi container example with nginx](https://github.com/danmasta/deploy/wiki/Dockerrun-Example-Nginx-Proxy)\n\n## Contact\nIf you have any questions feel free to get in touch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmasta%2Fdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanmasta%2Fdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanmasta%2Fdeploy/lists"}