npm 包 @semantic-release/gitlab 使用教程

阅读时长 6 分钟读完

随着前端开发的不断发展,我们的项目也越来越庞大复杂,版本控制变得越来越困难。在这种情况下,一个为我们自动化版本控制和发布的工具变得极其必要。Semantic-release 是如此的一个工具,它可以根据提交历史自动计算版本号,并将代码发布到指定环境中。本文将教你如何使用 npm 包 @semantic-release/gitlab 和 GitLab 集成 Semantic-release 自动化发布。

前置条件

  在开始前,我们需要确保以下条件已满足:

  • 拥有一个 GitLab 帐号。如果还没有的话,可以去官网注册一个。
  • 一个已经创建好的 GitLab 仓库。

步骤

Step 1:准备工作

  首先,你需要在你的 GitLab 仓库中添加新的 CI/CD 变量。

  1. 打开你的仓库。

  2. 进入「Settings」,点击「CI/CD」,选择「Variables」。

  3. 点击「Add variable」,在弹出框中设置变量,名称设置为 "GL_TOKEN",变量的值为 GitLab 的私有 token,用于连接 gitlab.com(或者自己安装的 GitLab 实例)。你可以在 这里 查看如何创建一个私有 token。

  4. 点击「Add variable」添加新的变量,名称设置为 "SR_TOKEN",变量的值为 npm 的 token,用于将新版本发布到 npm 上。

Step 2:安装和配置 Semantic-release

  在你的项目中安装 Semantic-release:

  然后,你需要将 Semantic-release 配置在你的项目中。我们在项目根目录创建一个 .releaserc 的文件:

-- -------------------- ---- -------
-
  ----------- -
    --------
  --
  ---------- -
    ------------------------------------
    --------------------------------------------
    ---------------------------
    -
      ---------------------------
      -
        ------------ ---------------------
        --------- -
          -
            ------- ------------
            ------- ------
          -
        -
      -
    --
    -
      ------------------------
      -
        ------------- ----
      -
    -
  -
-
  • branches:它指定此配置应用到的 Git 分支。在本例中,我们只适用于 master 分支。
  • plugins:它是你需要使用的 Semantic-release 插件。安装的 npm 包 @semantic-release/gitlab 和 @semantic-release/npm 就用在这里了。

Step 3:添加 .gitlab-ci.yml 配置

  在项目中添加 .gitlab-ci.yml 文件:

-- -------------------- ---- -------
--------
  - ----- ----------------

-------
  - -------

--------
  ------ -----------
  ------ -------
  -------
    - --- --
    - --- --- ----------------
  -----
    - ------
  ----------
    ------------- -----
  • 变量 GIT_STRATEGY 设置为 fetch,如果你的 Git 分支在你的 CI/CD 系统内(例如 GitLab CI/CD)不存在,它强制预先克隆该分支。
  • only 为 master,只有推送到 master 分支时会触发自动部署。

Step 4:安装版本发布与预览

  在本地计算机上安装 npm 包,运行以下命令:

  此命令将生成和发布一个新版本。你可以在 GitLab 的 CI / CD 流水线窗口中查看构建进度和日志。

示例代码

  最后,我们来看一下集成 Semantic-release 自动化发布的完整示例代码:

  • .gitlab-ci.yml 文件:
-- -------------------- ---- -------
--------
  - ----- ----------------

-------
  - -------

--------
  ------ -----------
  ------ -------
  -------
    - --- --
    - --- --- ----------------
  -----
    - ------
  ----------
    ------------- -----
  • .releaserc 文件:
-- -------------------- ---- -------
-
  ----------- -
    --------
  --
  ---------- -
    ------------------------------------
    --------------------------------------------
    ---------------------------
    -
      ---------------------------
      -
        ------------ ---------------------
        --------- -
          -
            ------- ------------
            ------- ------
          -
        -
      -
    --
    -
      ------------------------
      -
        ------------- ----
      -
    -
  -
-

  这就是如何使用 npm 包 @semantic-release/gitlab 的教程。Semantic-release 可以自动化发布你的项目版本,让你更专注于你的代码写作,而无需手动处理版本控制。如果你在发布版本时遇到了问题,请查看 GitLab 的日志并检查是否有错误。如果你在配置 Semantic-release 中遇到了问题,请查看 官方网站 寻求帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/201804