https://github.com/eclass/semantic-release-ecs-deploy
semantic-release plugin to deploy ecs services
https://github.com/eclass/semantic-release-ecs-deploy
ecs-deploy semantic-release semantic-release-plugin
Last synced: 5 months ago
JSON representation
semantic-release plugin to deploy ecs services
- Host: GitHub
- URL: https://github.com/eclass/semantic-release-ecs-deploy
- Owner: eclass
- License: mit
- Created: 2020-02-04T21:46:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T09:26:29.000Z (almost 2 years ago)
- Last Synced: 2024-04-15T21:07:24.773Z (almost 2 years ago)
- Topics: ecs-deploy, semantic-release, semantic-release-plugin
- Language: JavaScript
- Size: 1.28 MB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @eclass/semantic-release-ecs-deploy
[](https://www.npmjs.com/package/@eclass/semantic-release-ecs-deploy)

[](https://www.npmjs.com/package/@eclass/semantic-release-ecs-deploy)
[](https://david-dm.org/eclass/semantic-release-ecs-deploy)
[](https://david-dm.org/eclass/semantic-release-ecs-deploy#info=devDependencies)
[](https://coveralls.io/github/eclass/semantic-release-ecs-deploy?branch=master)
[](https://codeclimate.com/github/eclass/semantic-release-ecs-deploy/maintainability)
[](https://github.com/semantic-release/semantic-release)
> [semantic-release](https://github.com/semantic-release/semantic-release) plugin to deploy ecs services
| Step | Description |
|--------------------|---------------------------------------------------------------------------------------------|
| `verifyConditions` | Verify the presence of the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variable. |
| `publish` | Upgrade service in aws ecs. |
## Install
```bash
npm i -D @eclass/semantic-release-ecs-deploy
```
## Usage
The plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/caribou/docs/usage/configuration.md#configuration):
```json
{
"plugins": [
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git",
"@semantic-release/gitlab",
[
"@eclass/semantic-release-ecs-deploy",
{
"services": [
{
"cluster": "mycluster",
"service": "myservice"
}
]
}
]
]
}
```
## Configuration
### Environment variables
| Variable | Description |
| -------------------- | ----------------------------------------------------------------- |
| `AWS_ACCESS_KEY_ID` | aws access key id |
| `AWS_SECRET_ACCESS_KEY` | aws secret access key |
### Options
| Variable | Description |
| -------------------- | ----------------------------------------------------------------- |
| `services` | Array of object `service`. Required. |
| `service`.`cluster` | Name of cluster in aws ecs. Required. |
| `service`.`service` | Name of service in aws ecs. Required. |
| `service`.`timeout` | Timeout in seconds to wait upgrade. Optional. Default `300` |
| `service`.`ignoreWarnings` | Flag to ignore warnings in upgrade. Optional. Default `false` |
### Examples
```json
{
"plugins": [
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git",
"@semantic-release/gitlab",
[
"@eclass/semantic-release-ecs-deploy",
{
"services": [
{
"cluster": "mycluster",
"service": "myservice",
"timeout": -1,
"ignoreWarnings": true
}
]
}
]
]
}
```
```yml
# .gitlab-ci.yml
release:
image: node:alpine
stage: release
script:
- npx semantic-release
only:
- master
```
```yml
# .travis.yml
language: node_js
cache:
directories:
- ~/.npm
node_js:
- "12"
stages:
- test
- name: deploy
if: branch = master
jobs:
include:
- stage: test
script: npm t
- stage: deploy
script: npx semantic-release
```
## License
[MIT](https://tldrlegal.com/license/mit-license)