Issues in moving build configuration in teamcity - teamcity

I am working on Team-city 9.x. I have some build failures in one of the release project. although we have disabled the build and we do not want to run the build.
I am trying to move the build to another project (Disabled builds) but I cannot move the build.
Since I am getting an error as below
So I created the same VCS roots same as the release project for disabled-build project but still I am getting the same error.

It sounds like the VCS root hasn't been created at a level that can be shared by both projects from it's current location.
If you move the original VCS root to a level that is above both the current project and the one you're moving it too, it can be shared by both and you'll be able to move the project.
I would move this to <Root project> initially to help you move the project and then determine the best location for it depending on where it's being used in other build configurations
Hope this helps

Related

Creating a teamcity project from versioned controlled settings

I have a git repository for a project with a .teamcity folder in it containing versioned teamcity settings. Assuming I have deleted this project from the teamcity server (by first disabling versioned settings and then deleting the project) how can I re-import it?
The use case here is being able to create a new project using a template generator, e.g. yeoman or dotnet new, and be able to import that easily into a parent TeamCity project.
Our current teamcity version is: TeamCity Enterprise 10.0.4 (build 42538), so things may have improved in later versions.
So I think I have figured this out, these are the steps that worked for me.
Create a new project, making sure the Project ID is set correctly
Add a VCS root pointing to your repo that contains your project
Enable versioned settings making sure to select use settings from VCS and choosing the Kotlin settings format
Select "Import settings from VCS" when prompted
In more detail...
Make sure the Project ID for your project matches what you have in your .teamcity file
For example if your .teamcity file contains .teamcity\MyAwesomeProject, then you need to make sure your Project ID in teamcity is set to MyAwesomeProject.
use settings from VCS
If you don't tell TeamCity to use the vcs settings by default then it will do what it usually does and start checking things into source control for you.

Sonar refuses to analize multimodule project

I have upgraded from Sonar 5.3 to 6.2 and a project X is giving me some weird errors at the sonar stage of the jenkins job (altough build finishes as STABLE).
The project is a standard multimodule maven java project.
Entering the project dashboard a single message appears on screen:
"No analysis has been performed since creation. The only available
section is the configuration."
But in the upper-right corner the red "FAILED" tag shows up. That leads to the Background tasks of the project and there is the failed task with this error log:
The project "com.foo:bar-submodule-1" is already defined in SonarQube
but not as a module of project "com.foo:bar". If you really want to
stop directly analysing project "com.foo:bar-submodule-1", please
first delete it from SonarQube and then relaunch the analysis of
project "com.foo:bar"
I do not want to delete the project and lose the historical data.
So the question is: How can i add a project Y (that is a submodule of project X but Sonar does not recognize it) as a submodule of project X?
EDIT 1
The parent project is the only one that has been analyzed through jenkins jobs.
Your problem is not that Sonar can't figure out your submodules, but the root issue is that there is another project/module with the same name conflicting with the project you are analyzing now. It happens, for example, when you extract a submodule as a standalone library and moves it as a root project and try to analyse the new project. Since it is a new project, but sometime in the past you had another project/module with the exact same name, it won't be able to finish the process. I have found three ways to fix this:
Delete the old project, if it is possible
This is a option that I use when I have analysed mistakenly new projects (with wrong parameters for example) or when I am migrating servers and still have some wrong configuration in place. You can do this in the project's Configuration/Administration menu, 'Delete project'.
Rename the old projects keys
This is my default option, since usually what I want is just keep the old analyses data for old submodules that we are moving to other projects or promoting to root modules. You can do this in the project's Configuration/Administration menu, 'Update key' option.
Updating your current project's keys
This option I use when the submodules conflict with other valid submodules (It can happen when you have different teams creating small libraries that happen to have the same keys). You can do this in two steps. First you need to update your project's keys following the option 2. The next step is to go to your project and update the modules and submodules names using the key sonar.moduleKey. The default value for this is : similar to sonar.projectKey, as especified here. Following these steps you won't lose all your records and old analyses.
I hope it helps.

Ignore from TFS but include in project

I have spent the last week trying to get my TFS Branch / VSO / Azure Release Branch Continous Deployment setup, but have failed miserably. Right now I am just trying to get CD working with out branching, I have it pointed at my solution but I am falling over myself on the obj and bin folder. If I exclude the bin folder from the project it complains because it cant build the project. I can't get tfignore to work, if I change the folder it still tracks the changes.
I have a folder structure of:
\Dev\Web\Umbraco Master Solution\Umbraco.Extensions\bin
\Dev\Web\Umbraco Master Solution\Umbraco.Extensions\obj
\Dev\Web\.tfignore
my tfignore includes the lines:
\Umbraco Master Solution\Umbraco.Extensions\bin
\Umbraco Master Solution\Umbraco.Extensions\obj
I'm not really sure where to go from here.
It is almost always a bad idea to checkin your bin folder. If the build fails when you exclude it, that likely means you have a DLL that is referenced from the bin (also not good). You should use Nuget packages where possible for your dependencies. Its easy to make your own if needed. Or you can place the DLLs you need to reference in a different folder at the root of your solution and referenced those instead.
I am assuming you would like to check-in the Bin of the project you are referencing. when you set up your build, you have to select a configuration to build. Make sure that the configuration you are building has the project you are referencing set to Build.
I agree with chief7 that it's a bad idea to check in your bin folder.

updating local project copy with checked out svn project before checking in as new project

I have been working on organizing legacy code. The svn version of the project was so messed up and 2/3 of the directories in svn have never been used. SO many test-folders...
So I decided to create a new project in IntelliJ and check out only those directories that we use.
This took some time as I was learning about Maven and IntelliJ. In the meantime one of my colleagues have been adding changes to the existing svn project.
So, I was wondering how can I add his changes to my local working copy before I check in my project as a new project in subversion?
I know I can look into the history and add changes manually but is there another way?

TeamCity Dependency not sticking around

I'm sure this is a dumb mistake on my part but I can't find the right answer.
I have a project that has a snapshot dependency on another project. For sake of discussion website is dependent on toolkit.
Monitoring the build folder:
c:\programs\Teamcity\buildagent\work
I see the toolkit get built and the folders all exist as expected:
c:\programs\teamcity\buildagent\work\toolkit
Then the website build kicks off and the folder above gets deleted before the website build starts.
This results in the website saying the reference couldn't be found. What setting am I missing?
Using TeamCity 7.1.2, working on getting it upgraded to 8.1 but it requires some internal evaluation first.
Don't think its a version issue. How do both of your builds know where to put the artefacts at . For ex teamcity normally builds stuff at c:\programs\teamcity\buildagent\work****\toolkit , not at c:\programs\teamcity\buildagent\work\toolkit ?
Also, if your targets are dependent upon each other across builds, (1) have you setup any artefact dependencies or (2) any process that does not read of a shared agent workspace ? or (3) forcing both builds to run from the same directory
See if both your builds are running on the same target "folder name". In case they are , deselect any option that "cleans up build targets" before they run.
Also, you might want to check your build files to see if they have any code to clean directories before they start to run

Resources