Configuring Hudson/Jenkins for staging and production

北城余情 提交于 2019-12-08 01:12:23

问题


How do I configure Hudson/Jenkins to production and staging deploy with the same configuration?

I have a build and deploy workflow configured in Jenkins to do production pushes. Now I need to use the same configuration to do a staging push, expect that couple of folder & DB names will change to reflect stage. I.e. Say from /var/prod/html to /var/stage/html and db from companyname_table to companyname_table_stage.

I don’t want to do a copy of the configuration since I may have to change the configuration in one place then I will have to make duplicate changes to every copy. Ideally I want to attempt this by passing some parameter


回答1:


You could configure the project to be parameterized, and add a parameter specifying where to deploy to (i.e. staging or production). How you do this depends on what build system you are using. E.g. if you are using ant, the parameter will be exposed as an environment variable, so you could just have one variable saying whether its staging vs production, and then within the ant script you would set properties to /var/prod/html and companyname_table or /var/stage/html and companyname_table_stage depending on what that parameter is.

If for some reason you have build logic that couldn't change the property value based on the parameter, you would need separate parameters for the different values (e.g. one parameter for the db table and one parameter for the html location)

If you need separate projects for staging vs deploying, you could then have a project structure like this:

Project X: contains all the configuration and build/deploy logic Project Stage-X: triggers a parameterized build of Project X, with the parameter set to the staging value Project Deploy-X: triggers a parameterized build of Project X, with the parameter set to the production value

This also has the advantage that it is easy to add additional staging servers or deployment configurations, its just a matter of changing those parameter values.



来源:https://stackoverflow.com/questions/6352610/configuring-hudson-jenkins-for-staging-and-production

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!