• xsevensinzx - Friday, March 23, 2018 6:12 AM

    Not trying to answer for those two, but here is my two cents.

    Ideally, you're going to create 2 main lines to start. One for dev and one for your master. When you create a new task in JIRA to do something to an SSIS package, the team should be able to branch right from that task in JIRA with the help of Bitbucket. This should copy the entire repo to their machine, which is hopefully their developer environment.

    In this sense, the developer environment is a private instance only for that developer and no one else. Thus, it does make sense to have separate database environments for that developer and anything else the need so they do not conflict with other developers. You're not just doing this just to do this, you're doing this to address a problem you may have in development -- that conflict. If you feel a conflict can happen with sharing databases, then address the problem, not just the idea. No one says you can't have one database environment for multiple developers if there is no conflict. But in most cases, if you have two separate tasks for two separate developers for the same table or something. It will likely conflict.

    That being said, the app structure of what you are working with is important to GIT too. If you're changing that structure to stack repos, then you may want to rethink your dev environment and process. It should be straight forward. Branch from a repo to work on a new feature or bug to anywhere you like in your environment, do the work, commit those changes, review, merge, and move on.

    Thanks for your response.

    I understand the point of local repos and keeping developer activity separated. My points about one DB per repo was just about automated CI tools that rebuild all databases in a commit - if they are in the repo they are implied in the commit is my understanding).

    We wont be re purposing the application; the current setup of the source code folders is a purely arbitrary structure from the top as a Function ID, with database and ETL nested in separate sub folders. These need to be pivoted out to ETL and Database at the top with Function ID repeated within those new top level starting points containing the relevant objects. That's the bulk of what we have.

    However I'm sure I will discover the outlier software soon enough and also the gnarly facts of seeding a large codebase into Bitbucket from scratch.