# @eclass/semantic-release-docker 中文文档

规范地址：https://npmcn.com/package/%40eclass/semantic-release-docker/

版本：4\.0\.0
npm 元数据更新时间：2026-01-12T20:34:17.800Z
中文译文更新时间：2026-11-14T16:01:00.767Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40eclass/semantic-release-docker
原文对照：https://npmcn.com/package/%40eclass/semantic-release-docker/?lang=original
项目主页：https://github.com/eclass/semantic-release-docker#readme
源码仓库：https://github.com/eclass/semantic-release-docker

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：24.3 kB，13 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=14\.17\.0
- 运行依赖：3 个
- peer 依赖：semantic-release \>=18\.0\.0
- 首次发布：2020-02-04T15:15:06.023Z
- 最新版本发布：2023-03-22T16:59:45.546Z
- 近 30 天下载量：1992（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 0 个）

## 中文简介

语义- 释放插件, 用于标记和推动嵌入器图像

## 安装

```sh
npm install @eclass/semantic-release-docker
```

也可以使用：`pnpm add @eclass/semantic-release-docker`、`yarn add @eclass/semantic-release-docker`、`bun add @eclass/semantic-release-docker`

## README

# @ eclass/ semmantic- release-docker (英语)

[![npm](https://img.shields.io/npm/v/@eclass/semantic-release-docker.svg)](https://www.npmjs.com/package/@eclass/semantic-release-docker) ![Node.js CI](https://github.com/eclass/semantic-release-docker/workflows/Node.js%20CI/badge.svg) [![downloads](https://img.shields.io/npm/dt/@eclass/semantic-release-docker.svg)](https://www.npmjs.com/package/@eclass/semantic-release-docker) ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/@eclass/semantic-release-docker) [![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) [![Maintainability](https://api.codeclimate.com/v1/badges/88355a0bbb92e6a01834/maintainability)](https://codeclimate.com/github/eclass/semantic-release-docker/maintainability) [![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)

> [语义释放](https://github.com/semantic-release/semantic-release) 标记和推推插件图像的插件

| 步骤 | 说明 |
| --- | --- |
| `verifyConditions` | 验证是否存在 `baseImageName`,以及 `registries` 选项. |
| `prepare` | 标记插头图像 . |
| `publish` | 推道克图像. |

## 安装

```bash
npm i -D @eclass/semantic-release-docker
```

## 使用量

插件可以在 [**语义释放** 配置文件](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-docker"
  ]
}
```

## 配置

### 选项

#### 配置

| 变量 | 说明 |
| --- | --- |
| `baseImageName` | 先前构建的嵌入器图像名称 。 要求. |
| `baseImageTag` | 以前构建的嵌入器图像标记的名称 。 可选的 默认 `"latest"` |
| `releaseImageTag` | 新建的嵌入器图像标签名称 。 可选的 默认 `"latest"` 或者说 `channel` 如果使用自定义分支或预连接 |
| `registries` | 矩阵 [书记官处](https://npmcn.com/package/%40eclass/semantic-release-docker/#readme-registry) 对象。 要求。 示例:{"用户":"DOCKER USER","密码":"DOCKER PASWORD","url":"docker.pkg.github.com","图像名":"docker.pkg.github.com/myuser/myrepo/myapp") |
| `additionalTags` | 一组额外的标记来推. 可选的 示例 `["beta", "next"]` |

#### 书记官处

| 变量 | 说明 |
| --- | --- |
| url 密码 | (原始内容存档于2018-10-10). Ull of the Docker register register. 要求。 示例 `"docker.pkg.github.com"` |
| 图像Name | 插头图像的名称 。 要求。 示例 `"docker.pkg.github.com/myuser/myrepo/myapp"` |
| 用户 | 用作登录到嵌入器注册处的用户名的环境变量名称 。 要求。 示例 `"DOCKER_USER"` |
| 密码 | 用作登录到嵌入器登记册密码的环境变量的名称 。 要求。 示例 `"DOCKER_PASSWORD"` |
| 跳过标签 | 不应被推入嵌入器注册的图像标记序列 。 可选的 示例 `["latest"]` |

### 环境变量

环境变量是变量. 取决于 `registries` 选项.

| 变量 | 说明 |
| --- | --- |
| `DOCKER_USER` | 嵌入器注册的用户名. |
| `DOCKER_PASSWORD` | 嵌入器注册的密码 . |
| `DOCKER_BASE_IMAGE_TAG` | 以前构建的嵌入器图像标记的名称 。 可选的 默认 `"latest"`。 。 。 . |
| `DOCKER_RELEASE_IMAGE_TAG` | 新发行的嵌入器图像标签名称 。 可选的 默认 `"latest"` 或者说 `channel` 如果使用自定义分支或预连接 |

### 实例

将图像推向许多嵌入器注册

```json
{
  "plugins": [
    "@semantic-release/changelog",
    "@semantic-release/npm",
    "@semantic-release/git",
    "@semantic-release/gitlab",
    [
      "@eclass/semantic-release-docker",
      {
        "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"]
      }
    ]
  ]
}
```

```yml
# .gitlab-ci.yml
release:
  image: node:alpine
  stage: release
  before_script:
    - docker build -t myapp .
  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
      before_script: docker build -t myapp .
      script: npx semantic-release
```

## 许可证

[麻省理工学院](https://tldrlegal.com/license/mit-license)

## 常见问题

### @eclass/semantic-release-docker 是什么？

语义- 释放插件, 用于标记和推动嵌入器图像

### 如何安装 @eclass/semantic-release-docker？

在项目目录运行 npm install @eclass/semantic-release-docker，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：semantic-release（\>=18\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @eclass/semantic-release-docker 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/eclass\_\_semantic-release-docker 是否存在。

### @eclass/semantic-release-docker 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @eclass/semantic-release-docker 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=14\.17\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @eclass/semantic-release-docker 可以商用吗？

@eclass/semantic-release-docker 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @eclass/semantic-release-docker 的下载量有多少？

根据 npm 官方下载统计，@eclass/semantic-release-docker 在 2026/10/13 – 2026/11/11 这 30 天内被下载 1,992 次，日均约 66 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @eclass/semantic-release-docker 还在维护吗？

最新版本 4\.0\.0 发布于 2023/03/23（3 年前）；至今共发布 14 个版本，其中过去 12 个月发布了 0 个；首次发布于 2020/02/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

