繁体   English   中英

持续集成在 jenkins 中是否有任何作业命名约定

[英]Continuous integration is there any job naming conventions in the jenkins

我想知道在持续集成中是否存在任何作业命名约定。 我们正在将 Jenkins 用于 Ci,请提出建议。

命名约定应该是这样的,环境,服务,目的构建或部署等。

任何其他建议表示赞赏。

我正在使用这样的约定:

<primary purpose of the job | uppercase>_<(GitHub) project name>_<branch name / additional info>

所以工作将被命名为

BUILD_my-project
DEPLOY_my-project_staging
TEST_my-project_staging
UTILITY_install-helpful-tool_staging
INFRA_run-job-dsl

为了使事情更容易维护,尤其是在使用 JobDSL 时,我更喜欢不为作业使用单独的显示名称,代价是作业名称中同时包含连字符和下划线。

回答起来有点困难,因为 Jenkins 中没有关于命名约定的官方规则。 通常,每个组织都会定义自己的规则。 (这些规则可能是关于存储库名称,项目,版本,...)当您使用像 嵌套视图插件这样的插件时,具有命名约定很有用。 想一想如果您可以采用命名约定,您将拥有哪些不同类型的工作。 作业名称中的空格可能会使远程调用此作业变得困难,因此不建议这样做。

在 Jenkins 中使用名称约定的示例:

对于常规作业,我们以 git 存储库名称命名 Jenkins 作业。 例如,“ceph-deploy”包位于https://github.com/ceph/ceph-deploy ,因此作业名称是“ceph-deploy”。

我认为最好的答案是:视情况而定。 每个用例可能需要一个自定义的约定。

使用相同 Jenkins 的团队越多,为了正确管理角色和权限,约定就越复杂。

如果您想创建自己的约定,您还可以查找 Java/C#/python/powershell 命名约定以找到有用的想法。

一般来说,我会选择 PREFIX_Name_SUFFIX:

- PREFIX: [a-zA-Z0-9]{3,5} (might be skipped if complexity level is low)
- Name: [a-zA-Z0-9-]+
- SUFFIX: [a-zA-Z0-9]{3,5} (might be skipped if complexity level is low)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM