Socket
Socket
Sign inDemoInstall

eclass-docker-fork

Package Overview
Dependencies
483
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    eclass-docker-fork

semantic-release plugin to release a docker container


Version published
Weekly downloads
56
increased by115.38%
Maintainers
1
Install size
2.00 MB
Created
Weekly downloads
 

Changelog

Source

1.3.1 (2021-12-03)

Code Refactoring

  • remove console logs and implement (59d18b0)

Readme

Source

eclass-docker-fork

npm Node.js CI downloads dependencies devDependency Status Coverage Status Maintainability semantic-release

semantic-release plugin to tag and push docker images

StepDescription
verifyConditionsVerify the presence of the baseImageName, and registries options in plugin config.
prepareTag docker images.
publishPush docker images.

Install

npm i -D eclass-docker-fork

Usage

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

{
  "plugins": [
    "@semantic-release/changelog",
    "@semantic-release/npm",
    "@semantic-release/git",
    "@semantic-release/gitlab",
    "eclass-docker-fork"
  ]
}

Configuration

Options

Config
VariableDescription
baseImageNameName of the previously constructed docker image. Required.
registriesArray of Registry objects. Required. Example: {"user": "DOCKER_USER", "password": "DOCKER_PASSWORD", "url": "docker.pkg.github.com", "imageName": "docker.pkg.github.com/myuser/myrepo/myapp"}
additionalTagsArray of additional tags to push. Optional. Example: ["beta", "next"]
Registry
VariableDescription
urlUrl of the docker registry. Required. Example: "docker.pkg.github.com"
imageNameName of the docker image. Required. Example: "docker.pkg.github.com/myuser/myrepo/myapp"
userName of the environment variable used as user name for login to the docker registry. Required. Example: "DOCKER_USER"
passwordName of the environment variable used as password for login to the docker registry. Required. Example: "DOCKER_PASSWORD"
skipTagsArray of image tags that should not be pushed to the docker registry. Optional. Example: ["latest"]

Environment variables

Environment variables are variables. Depends of registries option.

VariableDescription
DOCKER_USERusername for docker registry.
DOCKER_PASSWORDpassword for docker registry.

Examples

Push images to many docker registry

{
  "plugins": [
    "@semantic-release/changelog",
    "@semantic-release/npm",
    "@semantic-release/git",
    "@semantic-release/gitlab",
    [
      "eclass-docker-fork",
      {
        "baseImageName": "myapp",
        "registries": [
          {
            "url": "registry.gitlab.com",
            "imageName": "registry.gitlab.com/mygroup/myapp",
            "user": "CI_REGISTRY_USER",
            "password": "CI_REGISTRY_PASSWORD"
          },
          {
            "url": "docker.io",
            "imageName": "docker.io/myuser/myapp",
            "user": "DOCKER_REGISTRY_USER",
            "password": "DOCKER_REGISTRY_PASSWORD"
          },
          {
            "url": "docker.pkg.github.com",
            "imageName": "docker.pkg.github.com/myuser/myrepo/myapp",
            "user": "GITHUB_USER",
            "password": "GITHUB_TOKEN"
          },
          {
            "url": "123456789012.dkr.ecr.us-east-1.amazonaws.com",
            "imageName": "123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp",
            "user": "AWS_DOCKER_USER",
            "password": "AWS_DOCKER_PASSWORD",
            "skipTags": ["latest"]
          }
        ],
        "additionalTags": ["next", "beta"]
      }
    ]
  ]
}
# .gitlab-ci.yml
release:
  image: node:alpine
  stage: release
  before_script:
    - docker build -t myapp .
  script:
    - npx semantic-release
  only:
    - master
# .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
      before_script: docker build -t myapp .
      script: npx semantic-release

License

MIT

FAQs

Last updated on 03 Dec 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc