{"_id":"@avestura/semantic-release-docker","_rev":"2-fdf7988fb97ce7358476f218e649607d","name":"@avestura/semantic-release-docker","dist-tags":{"latest":"2.1.0"},"versions":{"2.0.0":{"name":"@avestura/semantic-release-docker","version":"2.0.0","description":"semantic-release plugin to tag and push docker images","main":"src/index.js","scripts":{"lint":"prettier-standard --lint '{src,test}/**/*.js'","ts-compile-check":"tsc -p tsconfig.json --noEmit","test":"nyc mocha --no-timeouts test"},"engines":{"node":">=14.17.0"},"repository":{"type":"git","url":"git+https://github.com/avestura/semantic-release-docker.git"},"keywords":["release","semantic-release","docker","ecr"],"author":{"name":"Leonardo Gatica","email":"lgatica@protonmail.com","url":"https://about.me/lgatica"},"license":"MIT","bugs":{"url":"https://github.com/avestura/semantic-release-docker/issues"},"homepage":"https://github.com/avestura/semantic-release-docker#readme","dependencies":{"@semantic-release/error":"^3.0.0","aggregate-error":"3.1.0","dockerode":"3.3.1"},"devDependencies":{"@commitlint/cli":"14.1.0","@commitlint/config-conventional":"14.1.0","@eclass/eslint-config":"2.0.1","@eclass/semantic-release-npm-github-config":"3.0.1","@semantic-release/changelog":"6.0.1","@semantic-release/git":"10.0.1","@types/chai":"4.2.22","@types/dockerode":"3.3.0","@types/mocha":"9.0.0","@types/mock-require":"2.0.0","@types/node":"16.11.6","@types/semantic-release":"17.2.2","chai":"4.3.4","eslint":"8.1.0","eslint-plugin-array-func":"3.1.7","eslint-plugin-eslint-comments":"3.2.0","eslint-plugin-import":"2.25.2","eslint-plugin-jsdoc":"37.0.3","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"5.1.1","eslint-plugin-security":"1.4.0","eslint-plugin-sonarjs":"0.10.0","eslint-plugin-standard":"4.1.0","husky":"7.0.4","lint-staged":"11.2.6","mocha":"9.1.3","mock-require":"3.0.3","nyc":"15.1.0","nyc-config-common":"1.0.1","prettier-standard":"16.4.1","semantic-release":"18.0.0","typescript":"4.4.4"},"peerDependencies":{"semantic-release":">=11.0.0 <19.0.0"},"gitHead":"4e46f2dddff0f01d624e2bc37745632312bee9d3","_id":"@avestura/semantic-release-docker@2.0.0","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-KNyRXxp2AXxU15O1t1mtxOVqrIJAVGzleOBCOtUQ2ZU4zUtcrcVf31Hj1j9FEHEOB0g0x1R/maDlRkI2PBGgrg==","shasum":"87ca51971f61a1fd4f60550328978ffb157b740c","tarball":"https://registry.npmjs.org/@avestura/semantic-release-docker/-/semantic-release-docker-2.0.0.tgz","fileCount":13,"unpackedSize":22398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhytmJCRA9TVsSAnZWagAA1sMP/iUcNOLm4Z8TylF2kc1m\nhcZFmZ9Rn8Ql40RNUBBDQHYx1s3txUvQxy1rDzdfTFAXI0SpVSu/1W4Egnb1\nfjyU1RaMfFJrb+wYSM+foStf9bwnz9fS/QlO2wnC+rXXjoDkI8x7LWk5fT3V\nqWcxSUN/fGuAVUTTN/UapL37kyIMTR8Tz1xUHlQodW/F78ctsQz007ZyLdtD\nUOVhk8F1qYv2da0e3KkfSalR3GtSsWKyK2w2Drj50JoyS6a/ER200nffSh7W\nIZcbyebCje1qCQrbqd8JSo91jXY2h1mMND8KhdYlN+1LtXnadycXFUHMJLam\nX78R+nGf25Ip8UuTwIRBWhGHyRsGT82MOScaUqLsYG6ljN0WHvOOGvHXThSD\nPMJrUQ0CYOCXdlm5/2dLYwdOsWUm7kVu5TnCyKK5cl8T723BeWIrnDSf60tB\n7hLm7ARCMNIjOeLP6anJjzbCe7hruWVsLUwW7wsk9+J1ZTaQqH9mKnijSpr5\nXSYR4VF6BzoTkzxBe9UcYVewPCdMwzuXM2yF5ToWHTj4riCuPIzSYje3HOZR\nsTkllp2F73g5zJ0tJb4Sw5w5pUGhGd5xc6nH5LoOnSJXOupNgpc5xLmcX7q5\n7mAmjx5sygLc1Z7gxE1/y9LEwY5xvLQa5gquBXSE6q1r4ZozQF/d0mbk2+tk\nAHHA\r\n=ugjZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPjG1xwUTH2WInGuNiKR2iApA2PYjLtoCnQeTqv/WLMAiEA0EaU45M3qGiHmxkW4M2gQg4wu+61gPVd0N0GGgtJVao="}]},"_npmUser":{"name":"avestura","email":"me@avestura.dev"},"directories":{},"maintainers":[{"name":"avestura","email":"me@avestura.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/semantic-release-docker_2.0.0_1640683913195_0.5807259604554651"},"_hasShrinkwrap":false},"2.1.0":{"name":"@avestura/semantic-release-docker","version":"2.1.0","description":"semantic-release plugin to tag and push docker images","main":"src/index.js","scripts":{"lint":"prettier-standard --lint '{src,test}/**/*.js'","ts-compile-check":"tsc -p tsconfig.json --noEmit","test":"nyc mocha --no-timeouts test"},"engines":{"node":">=14.17.0"},"repository":{"type":"git","url":"git+https://github.com/avestura/semantic-release-docker.git"},"keywords":["release","semantic-release","docker","ecr"],"author":{"name":"Leonardo Gatica","email":"lgatica@protonmail.com","url":"https://about.me/lgatica"},"license":"MIT","bugs":{"url":"https://github.com/avestura/semantic-release-docker/issues"},"homepage":"https://github.com/avestura/semantic-release-docker#readme","dependencies":{"@semantic-release/error":"^3.0.0","aggregate-error":"3.1.0","dockerode":"3.3.1"},"devDependencies":{"@commitlint/cli":"14.1.0","@commitlint/config-conventional":"14.1.0","@eclass/eslint-config":"2.0.1","@eclass/semantic-release-npm-github-config":"3.0.1","@semantic-release/changelog":"6.0.1","@semantic-release/git":"10.0.1","@types/chai":"4.2.22","@types/dockerode":"3.3.0","@types/mocha":"9.0.0","@types/mock-require":"2.0.0","@types/node":"16.11.6","@types/semantic-release":"17.2.2","chai":"4.3.4","eslint":"8.1.0","eslint-plugin-array-func":"3.1.7","eslint-plugin-eslint-comments":"3.2.0","eslint-plugin-import":"2.25.2","eslint-plugin-jsdoc":"37.0.3","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"5.1.1","eslint-plugin-security":"1.4.0","eslint-plugin-sonarjs":"0.10.0","eslint-plugin-standard":"4.1.0","husky":"7.0.4","lint-staged":"11.2.6","mocha":"9.1.3","mock-require":"3.0.3","nyc":"15.1.0","nyc-config-common":"1.0.1","prettier-standard":"16.4.1","semantic-release":"18.0.0","typescript":"4.4.4"},"peerDependencies":{"semantic-release":">=11.0.0 <19.0.0"},"gitHead":"5b033c3e111176949f6cbe2cf1911151fbaf0287","_id":"@avestura/semantic-release-docker@2.1.0","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-HeT4kEl/FjhLkqe03NLHygH62s9BYrzJYec9BDh1qdQ7Jn2hthdP7IUeQ/VWQLQewBcZPcWbdXPkUBp0X7eC+A==","shasum":"404a9a800c7c5df25b880d189c9aae1216626fac","tarball":"https://registry.npmjs.org/@avestura/semantic-release-docker/-/semantic-release-docker-2.1.0.tgz","fileCount":13,"unpackedSize":22386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7QMnCRA9TVsSAnZWagAA8VIP/i7fYhGXykuOaXJ7INYX\nOBsjsmVAd+sqAfyYMZvrnCOXyrfJhaMO5UixEmdcWSvm5mAJBLQeohIo5cmJ\nGhUFlLGWXQnaLbb2WhOPkFZHF+Cx2Bes3Vsnfs81ObuNNUD+Ntk0/Dic+/FL\nlsZ7OaY/3eUGPaxv8sdSJwp9LvBLgywKqg9n9xtMkvst4VyHRHLcER0rPp2G\noUdlZXVOIVBqeWNs1zb1wBRKxw2kfc/iX4rjJd9HeNff+wQfg+hnz6F6SHyP\nbXTTDnVbvsQqxlxDr+RiPVKeL7QpsgVejYQD8HjS+9xp0ZtbJ7LttKcYs46m\n3MqP/0TQ009yRIGVQXcZr59vGh9zekSfvXlYK9kuiDXupT9ksPZkh/uGrXi5\nNoFPNguMT2fMzulA9aMk35Os5XGOwRY4NudkFDb47PGI9pKndMteos4ETnX4\nvnn49+uiOOiVKAtNHujHwxXo++jB1W589QcUnRyAcHOn3B7dMA68shfYTwVz\nS82AF6OYbU3Pphw31pOpw++n/bLR7pbPfm/6oKSDTc1KnvOUZYMJk11ZFsUX\nkuxS3PwKuAH3KZ5yabJ6+p9aRJ+IAHhTYCcOvcRjzAQPE+ufG6QIFO/zgxl6\nNANRPvsVQJmatZ+UnMmflVpnhWjMlcv8zP3hNPvdc5HvUyFp5lt3+tTzI6bF\nwINZ\r\n=ypAK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrJ1y1Xi/ViplebtlkesHJsiiF+wrJP9qzXhvAo2XT6AiAxuh+1RDEKd4DvE3lPgUIbyWXIUkbH0oR8p4DustJ14Q=="}]},"_npmUser":{"name":"avestura","email":"me@avestura.dev"},"directories":{},"maintainers":[{"name":"avestura","email":"me@avestura.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/semantic-release-docker_2.1.0_1642922791494_0.5126282230299342"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-28T09:31:53.145Z","2.0.0":"2021-12-28T09:31:53.326Z","modified":"2022-04-04T16:46:43.303Z","2.1.0":"2022-01-23T07:26:31.666Z"},"maintainers":[{"name":"avestura","email":"me@avestura.dev"}],"description":"semantic-release plugin to tag and push docker images","homepage":"https://github.com/avestura/semantic-release-docker#readme","keywords":["release","semantic-release","docker","ecr"],"repository":{"type":"git","url":"git+https://github.com/avestura/semantic-release-docker.git"},"author":{"name":"Leonardo Gatica","email":"lgatica@protonmail.com","url":"https://about.me/lgatica"},"bugs":{"url":"https://github.com/avestura/semantic-release-docker/issues"},"license":"MIT","readme":"# @eclass/semantic-release-docker\r\n\r\n[![npm](https://img.shields.io/npm/v/@eclass/semantic-release-docker.svg)](https://www.npmjs.com/package/@eclass/semantic-release-docker)\r\n![Node.js CI](https://github.com/eclass/semantic-release-docker/workflows/Node.js%20CI/badge.svg)\r\n[![downloads](https://img.shields.io/npm/dt/@eclass/semantic-release-docker.svg)](https://www.npmjs.com/package/@eclass/semantic-release-docker)\r\n[![dependencies](https://img.shields.io/david/eclass/semantic-release-docker.svg)](https://david-dm.org/eclass/semantic-release-docker)\r\n[![devDependency Status](https://img.shields.io/david/dev/eclass/semantic-release-docker.svg)](https://david-dm.org/eclass/semantic-release-docker#info=devDependencies)\r\n[![Coverage Status](https://coveralls.io/repos/github/eclass/semantic-release-docker/badge.svg?branch=master)](https://coveralls.io/github/eclass/semantic-release-docker?branch=master)\r\n[![Maintainability](https://api.codeclimate.com/v1/badges/88355a0bbb92e6a01834/maintainability)](https://codeclimate.com/github/eclass/semantic-release-docker/maintainability)\r\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\r\n\r\n> [semantic-release](https://github.com/semantic-release/semantic-release) plugin to tag and push docker images\r\n\r\n| Step               | Description                                                                            |\r\n| ------------------ | -------------------------------------------------------------------------------------- |\r\n| `verifyConditions` | Verify the presence of the `baseImageName`, and `registries` options in plugin config. |\r\n| `prepare`          | Tag docker images.                                                                     |\r\n| `publish`          | Push docker images.                                                                    |\r\n\r\n## Install\r\n\r\n```bash\r\nnpm i -D @eclass/semantic-release-docker\r\n```\r\n\r\n## Usage\r\n\r\nThe plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/caribou/docs/usage/configuration.md#configuration):\r\n\r\n```json\r\n{\r\n  \"plugins\": [\r\n    \"@semantic-release/changelog\",\r\n    \"@semantic-release/npm\",\r\n    \"@semantic-release/git\",\r\n    \"@semantic-release/gitlab\",\r\n    \"@eclass/semantic-release-docker\"\r\n  ]\r\n}\r\n```\r\n\r\n## Configuration\r\n\r\n### Options\r\n\r\n#### Config\r\n\r\n| Variable         | Description |\r\n| ---------------- | ----------- |\r\n| `baseImageName`  | Name of the previously constructed docker image. Required. |\r\n| `baseImageTag`   | Name of the previously constructed docker image tag. Optional. Default `\"latest\"` |\r\n| `registries`     | Array of [Registry](#registry) objects. Required. Example: {\"user\": \"DOCKER_USER\", \"password\": \"DOCKER_PASSWORD\", \"url\": \"docker.pkg.github.com\", \"imageName\": \"docker.pkg.github.com/myuser/myrepo/myapp\"} |\r\n| `additionalTags` | Array of additional tags to push. Optional. Example: `[\"beta\", \"next\"]` |\r\n\r\n#### Registry\r\n\r\n| Variable         | Description |\r\n| ---------------- | ----------- |\r\n| url              | Url of the docker registry. Required. Example: `\"docker.pkg.github.com\"` |\r\n| imageName        | Name of the docker image. Required. Example: `\"docker.pkg.github.com/myuser/myrepo/myapp\"` |\r\n| user             | Name of the environment variable used as user name for login to the docker registry. Required. Example: `\"DOCKER_USER\"` |\r\n| password         | Name of the environment variable used as password for login to the docker registry. Required. Example: `\"DOCKER_PASSWORD\"` |\r\n| skipTags         | Array of image tags that should not be pushed to the docker registry. Optional. Example: `[\"latest\"]` |\r\n\r\n### Environment variables\r\n\r\nEnvironment variables are variables. Depends of `registries` option.\r\n\r\n| Variable                | Description                   |\r\n| ----------------------- | ----------------------------- |\r\n| `DOCKER_USER`           | username for docker registry. |\r\n| `DOCKER_PASSWORD`       | password for docker registry. |\r\n| `DOCKER_BASE_IMAGE_TAG` | Name of the previously constructed docker image tag. Optional. Default `\"latest\"`. |\r\n\r\n### Examples\r\n\r\nPush images to many docker registry\r\n\r\n```json\r\n{\r\n  \"plugins\": [\r\n    \"@semantic-release/changelog\",\r\n    \"@semantic-release/npm\",\r\n    \"@semantic-release/git\",\r\n    \"@semantic-release/gitlab\",\r\n    [\r\n      \"@eclass/semantic-release-docker\",\r\n      {\r\n        \"baseImageName\": \"myapp\",\r\n        \"registries\": [\r\n          {\r\n            \"url\": \"registry.gitlab.com\",\r\n            \"imageName\": \"registry.gitlab.com/mygroup/myapp\",\r\n            \"user\": \"CI_REGISTRY_USER\",\r\n            \"password\": \"CI_REGISTRY_PASSWORD\"\r\n          },\r\n          {\r\n            \"url\": \"docker.io\",\r\n            \"imageName\": \"docker.io/myuser/myapp\",\r\n            \"user\": \"DOCKER_REGISTRY_USER\",\r\n            \"password\": \"DOCKER_REGISTRY_PASSWORD\"\r\n          },\r\n          {\r\n            \"url\": \"docker.pkg.github.com\",\r\n            \"imageName\": \"docker.pkg.github.com/myuser/myrepo/myapp\",\r\n            \"user\": \"GITHUB_USER\",\r\n            \"password\": \"GITHUB_TOKEN\"\r\n          },\r\n          {\r\n            \"url\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com\",\r\n            \"imageName\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp\",\r\n            \"user\": \"AWS_DOCKER_USER\",\r\n            \"password\": \"AWS_DOCKER_PASSWORD\",\r\n            \"skipTags\": [\"latest\"]\r\n          }\r\n        ],\r\n        \"additionalTags\": [\"next\", \"beta\"]\r\n      }\r\n    ]\r\n  ]\r\n}\r\n```\r\n\r\n```yml\r\n# .gitlab-ci.yml\r\nrelease:\r\n  image: node:alpine\r\n  stage: release\r\n  before_script:\r\n    - docker build -t myapp .\r\n  script:\r\n    - npx semantic-release\r\n  only:\r\n    - master\r\n```\r\n\r\n```yml\r\n# .travis.yml\r\nlanguage: node_js\r\ncache:\r\n  directories:\r\n    - ~/.npm\r\nnode_js:\r\n  - '12'\r\nstages:\r\n  - test\r\n  - name: deploy\r\n    if: branch = master\r\njobs:\r\n  include:\r\n    - stage: test\r\n      script: npm t\r\n    - stage: deploy\r\n      before_script: docker build -t myapp .\r\n      script: npx semantic-release\r\n```\r\n\r\n## License\r\n\r\n[MIT](https://tldrlegal.com/license/mit-license)\r\n","readmeFilename":"README.md"}