持续集成是jenkins中

时间:2016-04-06 08:28:39

标签: jenkins continuous-integration continuous-delivery

我想知道在持续集成中是否存在任何作业命名约定。我们正在使用jenkins for Ci,请建议。

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

任何其他建议表示赞赏。

3 个答案:

答案 0 :(得分:2)

我正在使用这样的约定:

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

因此,工作将被命名为

if ( active widgets in the sidebar ) {
  // use this formatting
} else {
  // use that formatting
}

为了使维护更容易,特别是在使用JobDSL时,我更喜欢没有单独的作业显示名称,代价是在作业名称中同时使用连字符和下划线。

答案 1 :(得分:1)

这有点难以回答,因为关于Jenkins中的命名约定没有官方规则。通常,每个组织都在定义自​​己的规则。 (这些规则可以是关于存储库名称,项目,版本......)当您使用nested view plugin之类的插件时,拥有名称约定很有用。如果您可以采用命名约定,请考虑您将看到的不同类型的作业。作业名称中的空格可能会使这项工作难以远程调用,因此不建议这样做。

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

对于常规作业,我们在git存储库名称后面命名Jenkins作业。例如," ceph-deploy"包位于https://github.com/ceph/ceph-deploy,因此作业名称为" ceph-deploy"。

答案 2 :(得分:0)

我认为最好的答案是:这取决于。 每个用例可能需要一个量身定制的约定。

使用相同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)