puppetlabs/packaging — pull request #129 by MosesMendoza (2013-04-23 04:37:09+00:00)
Title: Modify repo configs workflow

Currently repo config file generation generates new repo configs at runtime on
the local station. This is not optimal because it means to get repo configs you
have to have $project cloned with the packaging repo to get repo configs. This
commit changes the workflow by separating the steps of creating the repo configs, shipping them to a static (and predictable) location on the distribution server, and
modifying the current rpm_repo_configs and deb_repo_configs to just retrieve
the stored configs on the server. This allows us to just wget the configs since
we know what their location will be. The repo config generation task is now called pl:jenkins:generate_$platform_repo_configs, and a new task to ship these repo configs to the distribution server is added, pl:jenkins:ship_repo_configs. The task places the config files at $distribution_server/opt/jenkins-builds/$project/$ref/repo_configs/(deb|rpm) , and they're therefore available at builds.puppetlabs.lan/$project/$ref/repo_configs/. For backwards compatibility, new tasks are added that retrieve the configs from the distribution server that replace the existing pl:jenkins:$platform_repo_configs.

Also, now that we generate configs locally but store them on the distribution server,
we have to get them there. We could do it manually, or it could just be part of
the repo creation process. I'm opting for the latter, so as part of this PR the pl:jenkins:generate_repo_configs and pl:jenkins:ship_repo_configs are called as part of the repo creation process, so all you have to do is pull them in later when you want them.