项目作者: eclass

项目描述 :
semantic-release plugin to deploy ecs services
高级语言: JavaScript
项目地址: git://github.com/eclass/semantic-release-ecs-deploy.git
创建时间: 2020-02-04T21:46:05Z
项目社区:https://github.com/eclass/semantic-release-ecs-deploy

开源协议:MIT License

下载


@eclass/semantic-release-ecs-deploy

@eclass/semantic-release-ecs-deploy"">npm
Node.js CI
@eclass/semantic-release-ecs-deploy"">downloads
dependencies
devDependency Status
Coverage Status
Maintainability
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

  1. npm i -D @eclass/semantic-release-ecs-deploy

Usage

The plugin can be configured in the semantic-release configuration file:

  1. {
  2. "plugins": [
  3. "@semantic-release/changelog",
  4. "@semantic-release/npm",
  5. "@semantic-release/git",
  6. "@semantic-release/gitlab",
  7. [
  8. "@eclass/semantic-release-ecs-deploy",
  9. {
  10. "services": [
  11. {
  12. "cluster": "mycluster",
  13. "service": "myservice"
  14. }
  15. ]
  16. }
  17. ]
  18. ]
  19. }

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

  1. {
  2. "plugins": [
  3. "@semantic-release/changelog",
  4. "@semantic-release/npm",
  5. "@semantic-release/git",
  6. "@semantic-release/gitlab",
  7. [
  8. "@eclass/semantic-release-ecs-deploy",
  9. {
  10. "services": [
  11. {
  12. "cluster": "mycluster",
  13. "service": "myservice",
  14. "timeout": -1,
  15. "ignoreWarnings": true
  16. }
  17. ]
  18. }
  19. ]
  20. ]
  21. }
  1. # .gitlab-ci.yml
  2. release:
  3. image: node:alpine
  4. stage: release
  5. script:
  6. - npx semantic-release
  7. only:
  8. - master
  1. # .travis.yml
  2. language: node_js
  3. cache:
  4. directories:
  5. - ~/.npm
  6. node_js:
  7. - "12"
  8. stages:
  9. - test
  10. - name: deploy
  11. if: branch = master
  12. jobs:
  13. include:
  14. - stage: test
  15. script: npm t
  16. - stage: deploy
  17. script: npx semantic-release

License

MIT