一、环境变量

1.1 为什么需要环境变量?

  • 安全性:诸如 API 密钥之类的东西不应在代码中以纯文本形式出现;
  • 灵活性:减少条件语句判断。如:如果是生产环境,则执行X,否则如果是测试环境,则执行Y;否则如果是本地环境,则执行Z…

除了默认的环境变量外,还可以设置自定义环境变量。如果想使用自定义环境变量,则需要创建一个 .env 文件。.env 文件可以认为是纯文本文件,通常放置在项目的根目录中。下面是一个 .env 文件的示例:

  1. # API
  2. API_TOKEN=myUniqueApiToken
  3. # Database
  4. DATABASE_NAME=myDatabaseName

1.2 如何在 Node 中使用自定义环境变量

  1. 创建 .env 文件。通常该文件存放在项目的根目录中。
  2. 安装 dotenv 包: npm install dotenvdotenv 包可以轻松地从 .env 文件中加载环境变量。
  3. 在项目中要尽**早**地完成 dotenv 包的加载: require('dotenv').config({})

通常,我们会在 .env 文件中存放一些敏感的密钥信息,并且不会将其托管到版本仓库中。为了方便其他开发人员了解环境变量文件配置,会在版本仓库中创建一个 example.env 示例文件。
image.png
如图所示,.env 文件并没有托管到版本仓库,那么在生成环境中 Jenkins 针对缺失的 .env 文件,又该如何进行配置呢?下面简单地讲一下 Jenkins 的配置。

二、配置 Jenkins

  1. 安装 Config File Provider Plugin 插件。
  2. 待插件安装成功后。点击左侧菜单栏“系统管理”,选择 Managed files

image.png

  1. 选择创建新的配置文件。

企业微信截图_012c5706-8945-4c04-98fd-1bbedea25f39.png

  1. 选择配置文件的类型。此处选择 Custom file ,然后点击 Submit 按钮。

企业微信截图_9b8dce5f-99c9-43d1-9eeb-65ddea292a6c.png

  1. 编辑配置文件内容。

企业微信截图_8274bc4d-d8a8-4381-9946-2bb856b61e38.png

  1. 回到当前 Jenkins 任务中,配置当前任务的构建环境。

企业微信截图_36a4cefc-e3f5-4d2e-a773-7e6918f650e1.png
其中:

  • Target 表示在复制配置文件 log-server-prod 的过程中生成的新文件名,如下图所示:

WX20200615-165215.png

  1. 对当前 Jenkins 任务进行构建。构建完毕后,点击左侧菜单栏“工作空间”,就可以发现 .env 环境变量配置文件出现在了工作空间目录中。

企业微信截图_0ece7d64-b306-4969-9a80-930221a1f253.png

至此,就完成了整个Jenkins任务的配置。