跳到主要内容

2 篇博文 含有标签「环境」

查看所有标签

· 阅读需 4 分钟
Alexander Kus

如果您是Buddy老用户,您肯定注意到该服务不仅在附加功能方面不断发展,而且在外观方面也是如此。 新的更新设计一直在稳步接管UI设计的各个部分。到目前为止,提升成果包括流水线设置、集成、权限、沙盒、变量、用户和群组,分支与合并请求、SSH 密钥等等。

您将在下面找到对部署后第二大受欢迎的操作类型最新更改摘要:构建

新设计目前可用于Node.js自定义构建操作,我们将在几周内更新其余的操作。

运行命令

首先引起注意的是新的、更轻量的命令字段。 在此,您可以输入Buddy将在您的代码上运行的命令,选择脚本运行模式(Bash 或 sh),并抉择在第一个或最后一个不成功的命令上将该操作标记为失败:

环境

在此您可以配置Buddy运行命令字段中定义任务的容器详细信息,如果您使用来自Docker Hub默认的Docker 镜像,它将在顶部的选项卡上以相应的图标表示:

当然,您可以自由使用托管在Amazon、Google、Azure或您自己的注册中心中的任何其他镜像:

工件包和工具也已移至专用选项卡,这是您安装应用程序所需的依赖项、工具和框架的地方。Buddy将在第一次执行时运行这些命令,将软件缓存在容器中并使其可用于将来的流水线运行:

服务

此选项卡允许您附加构建所需的数据库和服务。服务选择设计遵循最近更新的项目列表设置的设计模式,一旦我们完成其余操作,就可进行一览其显示:

缓存

缓存允许您挂载和管理用于在执行之间存储文件的文件系统路径。 该选项卡更新了设计,以匹配其他部件的UI:

变量

此选项卡允许您管理操作使用的变量和SSH密钥。 更新后,它还包含所有默认的ENV变量列表:

条件

首次引入流水线,多触发条件现在可以应用于单独的构建。通过这种方式,您可以跳过该操作并从流水线执行时间中减少几秒钟的宝贵时间:

选项

最后是收集杂项设置的选项,例如运行失败时的对策、多次重试与操作超时:

提示

下一步:为了您更轻松、方便地管理操作,我们目前正在开发其余的操作和新的流水线概述。当然,我们愿意接受任何建议和反馈,客户的需求是我们最大的关心!如果您需要添加某些功能,请务必告诉我们:support@buddy.red

· 阅读需 4 分钟
Alexander Kus

让您的工作流程保持灵活和简单非常重要,这样可以避免将来寝不安席,食不甘味。今天,我们添加了另一项功能,可帮助您保持流水线整洁:在执行操作之间传递参数以及在不同执行之间传递参数。

如何实现

首先,我们需要定义一个环境变量,将其设置为“可设置”,并(可选)输入其初始值:

Adding a new variable

现在我们可以在每个构建操作中设置这个变量的新值:

Command box

此类导出的变量将在具有新值的进一步操作和执行中可用。这似乎是一个次要功能,但它为您提供了很多可能性,因此让流水线变得更加灵活。

用例1:在通知中发送日志

从现在开始,我们可以将文件内容分配给变量并在任何通知操作中发送。假设我们有一个日志文件,每次构建失败时都希望将其发送到我们的 Slack 通道。

我们只需要将变量设置为“可设置”,并在“于失败”部分将日志内容分配与值,之后我们在通知中发送变量:

Pipeline example

  • 第一个操作执行构建并将结果保存在 logs.txt 文件中
  • 如果构建失败,则Localshell操作将使用export LOGS=$(cat log.txt)命令分配logs.txt内容。
  • 之后我们有Slack操作(我们在其中输入$LOGS)

Slack notification action

用例2: 语义化版本控制

您还可以使用该功能对您的应用程序进行版本控制。 在环境变量中,您将保持每次发布时递增的版本号。

新添变量:VERSION并将其初始化为“0”,在每次发布期间,我们都会通过localshell操作自动升级版本。

在发布我们的软件包时,将使用以这种方式创建的版本号。下面您可以看到一个将Docker镜像推送到注册中心的示例:

Semantic versioning pipeline example

您可以使用任何您想要的版本格式。例如,可以使用语义化发布格式1.1.1,您可以分别升级主要、次要和补丁版本。您所要做的就是定义可设置变量并在构建操作中更改其值(参见下面的示例):

Command box

总结

如上所示,此功能可用于创建真正高级的流水线。将来可以根据前一个操作结果来定义一个操作是否应该运行的条件。