【问题标题】:Configuring Hudson/Jenkins for staging and production为暂存和生产配置 Hudson/Jenkins
【发布时间】:2011-06-15 03:08:30
【问题描述】:

如何使用相同的配置将 Hudson/Jenkins 配置为生产和暂存部署?

我在 Jenkins 中配置了构建和部署工作流来执行生产推送。现在我需要使用相同的配置进行暂存推送,预计几个文件夹和数据库名称将更改以反映阶段。 IE。从/var/prod/html 到/var/stage/html 和db 从companyname_table 到companyname_table_stage。

我不想复制配置,因为我可能必须在一个地方更改配置,然后我必须对每个副本进行重复更改。理想情况下,我想通过传递一些参数来尝试这个

【问题讨论】:

    标签: deployment build workflow hudson jenkins


    【解决方案1】:

    您可以将项目配置为参数化,并添加一个参数来指定部署到哪里(即登台或生产)。您如何执行此操作取决于您使用的构建系统。例如。如果您使用的是 ant,该参数将作为环境变量公开,因此您可以只使用一个变量来说明它是暂存还是生产,然后在 ant 脚本中将属性设置为 /var/prod/html 和 companyname_table 或 @ 987654325@ 和 companyname_table_stage 取决于该参数是什么。

    如果由于某种原因您的构建逻辑无法根据参数更改属性值,则需要为不同的值使用单独的参数(例如,一个用于 db 表的参数和一个用于 html 位置的参数)

    如果您需要单独的项目来进行暂存和部署,那么您可以拥有这样的项目结构:

    Project X:包含所有配置和构建/部署逻辑 Project Stage-X:触发 Project X 的参数化构建,参数设置为暂存值 Project Deploy-X:触发Project X的参数化构建,参数设置为生产值

    这还有一个好处是可以轻松添加额外的临时服务器或部署配置,只需更改这些参数值即可。

    【讨论】:

    • 如何进行参数化?
    • 在作业配置的顶部,有一个复选框,上面写着“此构建已参数化”。检查后,您可以添加任意数量的参数。它们有多种参数类型,包括布尔值、字符串和选项。您可以使用parameterized trigger plugin 触发其他项目使用参数构建 - 一旦安装它,项目配置底部会有一个复选框,让您触发另一个项目的参数化构建并将参数值定义为使用。
    猜你喜欢
    • 2017-01-30
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多