Note that there are some explanatory texts on larger screens.

plurals
  1. POKeeping downstream Puppet git repositories in sync except for ignored directories
    primarykey
    data
    text
    <p>I have a git configuration for our Puppet Dev/Test server that looks like this:</p> <ol> <li>Developer has a working directory in his/her /home directory in which changes to configurations are actually made.</li> <li>Changes are pushed from each working directory to a central, bare repository.</li> <li>Changes are then pulled into the Development directory which is where testing occurs.</li> <li>Changes are then pulled into the Production repository. However, in the Production repository I want to ignore the manifests/ directory which has host-specific information from Development. The idea being that the Production repository would either contain other manifests or none leaving the manifests to be under control elsewhere.</li> </ol> <p>When I remove the directory from the repository and then add an entry to the .gitignore file <code>git status</code> tells me that the Production repository has changes that need to be committed (the deleted directory) and is one commit ahead of the Development repository.</p> <p>What I have found is that by adding the directory to .gitignore while leaving the directory on the filesystem alleviates this. However, if I opt to go with keeping a different list of hosts in the Production manifests directory things could go pear-shaped pretty much immediately.</p> <p>The only other method I can think of is to create separate repos for the Dev manifests and modules directories which will allow me to pull the modules updates into Prod while leaving the manifests alone. I can then create a separate repository chain from the /home directory repo, through a new central, bare depot for just the Production manifests and pull in from that seperately. However, I can see this as a non-starter because I'll have already created the git repo under the Production directory. You can't have one directory served by two repos, can you?</p> <p>Perhaps I would have to place the git repo for each of the manifests and modules directories under those directories.</p> <p>Is that a viable method? Are there any other, common solutions to this issue? I'm fairly new to git so I'm not versed in how robust it can be.</p> <p>EDIT: Link to a diagram which represents what I'm trying to do: <a href="https://dl.dropboxusercontent.com/u/116457/Visio-Puppet_Production_Diagram_v2.0-sanitized.pdf" rel="nofollow">Puppet git repo diagram</a>. You can see why I'd like to keep a separate manifest of nodes under each environment.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload