持续集成:Jenkins中是否有作业命名约定?

9

我想知道我们在持续集成中是否有任何工作命名约定。我们使用Jenkins进行Ci,请提供建议。

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

欢迎提供任何其他建议。


1
将其归档到“任何其他建议”文件夹下:https://wiki.jenkins.io/display/JENKINS/Jenkins+Best+Practices - michael
3个回答

5

我正在使用以下约定:

<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时,我更喜欢不为作业设置单独的显示名称,而是在作业名称中同时使用连字符和下划线。

1
这有点难回答,因为 Jenkins 没有关于命名规范的官方规则。通常每个组织都定义自己的规则。(这些规则可能与存储库名称、项目、版本等有关) 当您使用插件如 nested view plugin 时,拥有命名约定是很有用的。考虑一下您将拥有哪些不同类型的作业,看看是否可以采用命名约定。作业名称中的空格可能会使远程调用此作业很困难,因此不建议这样做。
Jenkins 中使用名称约定的示例:
对于常规作业,我们将 Jenkins 作业命名为 git 存储库名称。例如,"ceph-deploy" 软件包位于 https://github.com/ceph/ceph-deploy,因此作业名称为 "ceph-deploy"。

是的,我同意你的观点。我只是想检查一下我们是否可以采用一些全球公认的行业作业命名规范。我仍然愿意讨论,但我正在编写自己的命名规范以供采用。 - user2750116

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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接