configuration management Questions

Have heard Service Now is a good Help Desk type tool for tracking incidents.  Can it's tool suite be used effectively in an IT development environment for version control, baselines, releases/deployments, etc.

Dear Experts,

Need your expter advice in setting up a new repository structure for our product development.

We have a software product, with 15-compnents and each of the 15-components have at least 15-modules.

Earlier our admin guy had configured the Stash server for us.

The current setup is like this:
Our IT engineer had created 15-Projects in stash/bitbucket server for 15-Components
For each of the 15-modules in a given component, a individual repository was created

Thus we have around 225 + 25(for additional module), totally 250 repositories to manage.

Individual developers creates their feature branches on their respective repositories and merge them to their production branch in their respective repo, after release.

Feature branches gets created only on a particular module in a particular repository which is getting affected for that feature.

If a developer is working on a feature, which is affecting 10-modules, this developer creates a branch in each of the repository which is affectting this module. Thus he creates 10-branches for a given feature in 10-different repositories.

In this way, we have many small teams working on many individual repositories corresponding to their module. Packages are made from each of the individual repository and delivered to our infra team, who deploys the product on our hosted servers.

Since source is spread all over the place, there is no baselines/tags created for this product. Also managing these many repositories by a single CM admin is too much to handle.

As a CM admin, I’m thinking of suggesting this structure for this product.
Create a single Project (Project A) in Stash 
Create a single repository (Repo A ) in this project 
Create a folder for each Component, i.e 15-Folders, under the repository root 
(i.e Project A - /RepoA/Component1/Module1 Module2 ……Module15
/RepoA/Component2/Module1 Module2 ……Module15
/RepoA/Component3/Module1 Module2 ……Module15
:
:
/RepoA/Folder15/Module1 Module2 ……Module15)

In this way we’ll have single repository to handle and CM admin will create branches and developers will just make changes and commit their code.

Appreciate your response on these lines:

1. Is my suggestion to host a single repository for all the components correct? 
is this achievable, what is your opinion on this repository structure?

2. We are developing a multi-tier, web application using PHP, Python, and Java Script. This application gets deployed on multiple servers. By using this single repository structure, do you see any issue or obstacle at a later stage on the line of development? What precautions should we take, if any?

3. Since the application is multi-tier, developers actually develop the application in the development environment (where multiple servers are setup to create a production sort of environment) using the shared work area in the environment, at times there are chances of one developer overwriting the others' changes.

What is your opinion on this kind of development?

4. Using this repository structure, how do we resolve the conflicts? Whenever a developer tries to push/pull the changes, he/she might face multiple conflicts not only from their changes. Should we call all developers to assemble at one desk and resolve the conflicts or is there any other better way?

5. We have many set of features getting developed on different branches. At times, many components are not modified in the some branches, still we just package them and release. What is your advice on this?

As CM admin, I see lots of advantages in managing branches and merges in a single repository structure. What do you suggest for our kind of development.

I have read many articles on web about the advantages/disadvantages of having single/multiple repositories. My Dev team is not conveienced with my approach.  Thus I need answers to all my(actually their's) question in one place.

Would appreciate your detailed response for each of the above issues that we are facing.  Your assistance in this regard will be very much appreciated.

Eagerly awaiting your response.

 

Thanking you,

Deepak.

By Stephen Gorin - January 19, 20162 Answers

Does Perforce need to be installed on a UNIX server, or can it be installed on a Windows server?

thx,

Steve

My company is replacing Source Safe.  For some reason Bitbucket has been selected. This is likely because we use other Atlassian tools.

My question is, does use of Bitbuck require that a distributed CM model be in place?

Thanks in advance,

Steve

 

Hi,

 

My company is planning a Synergy to GIT migration.

I have found the PySynergy project on Github and trying to use it.

 

I had to adapt it for our environment and fix some small issues.

But I see i'm unable to migrate the source code to GIT with the code tree.

 

Has anyone tried this migration, including the code tree?

Any suggestions / references?

 

Thanks,

Srikanth

In practice I have two new features that are under change control and that I want to be able to track them as separate changes from the first change and until the features are deployed to production.
 
How do I handle the fact that they both need to make the same changes to one part of the code? If I let one of them carry the change but then decides later on to back out of that “Feature” then I  will break the other feature that where depending on the same change. 
 
I am curious to know of any good advice or best practices to use i CM when dealing with those type of scenarios. 
 
We use MS TFS as version control and status accounting tool, but I am really interested in learning about best practice in general.
 
Thanks Johan.

By Paul Perry - December 18, 20151 Answer

Hello Everyone,

I'd like to understand how companies using SVN, TFS, Git, GitHub perform backing out production deployments from two perspectives, your re-deployment method but more importantly, how are you indicating in your respective repo that if code was rolled back, what are you doing internally with your SCM tool to force a message to developers that code was backed out.

Thanks

Paul Perry

Hello All ,

I am looking for a solution on how can we monitor the traffic received on UDP ports ( preferably through Nagios)

As per our setup , we are using Data Diode for highly secure unidirectional flow . There is a backend third party application which is sending data and it comes through data diode to the top layer on specific UDP port ( dual node active-active setup for high availability ) .

Now sometimes we fall in the situation when one of the data diode leg stop working which ultimately impacts the overall  data flow .

As per current situation , I am using a customised shell script which uses TCPDUMP on UDP ports to ensure we are receiving data on both leg of Data daiode . The script use to monitor the TCPDUMP traffic every 15 min and if no data received in last 15 min then sleep for 10 min and check again.

If no data received while second check then raise an alarm via Nagios .

Please let me know if we can use more optimised solution to monitor this setup .

 

Thanks in Advance !!

 

Is anyone aware of a publication where guidlines are provided for helping determine the number of administrators needed for supporting a specific SCM Tool given a number of developers?

Project to be performed in 2 equally complex phases, each phase to deliver to production about 4 months apart.  The project has been identified as 8.0.  Our baseline naming convention says change the first number for a major enhancement/upgrade.  If the first baseline is named to coincide with the project (8.0), then what name/identifier do I give to the baseline when phase 2 is ready?

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.