Build Archive Policy

sgoldstein created the topic: Build Archive Policy
I wanted to get some input from the SCM community regarding build archiving. When using either a CI or nightly build approach, a number of builds are generated during a release. How do people generally define a retention policy for retaining builds on disk? Once the retention policy dictates that a build should be removed from disk, what happens to it? Do people back it up to tape or some other media? Do people simply delete it entirely?

I ask because there are situations in which, for example, a bug is filed against a particular build and the dev team may want to go back an investigate. Typically, we’ve been archiving to tape, but it’s very time consuming and I don’t feel that the value is outweighing the cost.

Thanks.

rajeshkumar replied the topic: Re:Build Archive Policy
It’s all about process you follow and what release cycle you have..Dev team doesn’t need to refer old build until some milestone has been achieved as part of build. So as a Build engineer you need to know all the milestone achieved and which build CI# and revision number.
you can write a script which will store a information about revision number associated with the build and Build number, this number can be referenced in the future to get same build using CI tools
Scenario two: here I do follow some process. Like

I always clean up incremental build.

I do escrow audit after any patch, major or minor release.

Base line after any milestone met and documentation

Keep more than one year build only when if its matching with some milestone
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

MSBuild Tool

rambabu1683 created the topic: MSBuild Tool
Hi guys,

i am new to this forum.
can anyone help me about MSBUILD tool with small examples?

Warm Regards,
Rambabu.M

rajeshkumar replied the topic: MSBuild Tool
These quicks urls might help you…
www.scmgalaxy.com/189-msbuild/229-introduction-to-msbuild.html
www.scmgalaxy.com/189-msbuild/161-runnin…ous-integration.html
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Windows: “OpenSCManager failed – Access is denied. (0x5)” errors when

scmuser created the topic: Windows: “OpenSCManager failed – Access is denied. (0x5)” errors when
Problem:
Windows: “OpenSCManager failed – Access is denied. (0x5)” errors when starting Nexus

Solution:
You need to run the command prompt as an Administrator to avoid the problem. For example:
1. click on start
2. click “All Programs”
3. click on accessories
4. right click on “Command Prompt” icon
5. click “properties”
6. click on the “shortcut” tab on the top
7. click the advanced button at the bottom
8. click on the check box that says “Run as Administrator”.
9. click OK
When you now use the modified shortcut to the command prompt session it will allow you to perform Administrator operations and avoid the error.

Tagged :

The nexus-webapp service is not installed – The specified service does

scmuser created the topic: The nexus-webapp service is not installed – The specified service does
While installing Sonatype nexus in Windows 7, I get following error..

wrapper | The nexus-webapp service is not installed – The specified service does not exist as an installed service. (0x424)

I checked java version but no help..
C:\tools\nexus\nexus-2.7.0-04\bin>java -version
java version “1.7.0_45”
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

Some Solution on Net but no help
This happens when you run with JDK7 and is a problem with the XStream
version in Nexus. This has been fixed in XStream itself, so you can
donwload xstream-1.4.x and replace the xstream, xmlpull and xpp3 jars with
the newer versions.
You should only run Nexus on JDK7 if you have at least 7u1 or higher,
otherwise Lucene may cause fireworks.

Nexus Prerequisites

Nexus Open Source and Nexus Professional only have one prerequisite, a Java Runtime Environment (JRE) compatible with Java 7. Nexus is most often run with the JRE that is bundled with a Java Development Kit (JDK) installation, and it can be run with Oracle’s JDK for Java 7. To download the Oracle JDK, go to www.oracle.com/technetwork/java/javase/downloads/index.html . At a minium Java 7u2 is required, but we recommend tha latest available version.

Any Solution for this problem?

scmuser replied the topic: The nexus-webapp service is not installed – The specified service does
Solution:

I was stratting the nexus using ..
C:\tools\nexus\nexus-2.7.0-04\bin\nexus.bat start
But i should be using as below;

Change the wrapper.startup.timeout in C:\tools\nexus\nexus-2.7.0-04\bin\jsw\conf\wrapper.prop
# How much to wait for application to start up (increase on slower machines if needed)
wrapper.startup.timeout=30

Install Nexus…
C:\tools\nexus\nexus-2.7.0-04\bin\jsw\windows-x86-64\install-nexus.bat

Start Nexus
C:\tools\nexus\nexus-2.7.0-04\bin\nexus.bat

Run nexus
http://localhost:8081/nexus
or
http://hostname:8081/nexus

scmuser replied the topic: The nexus-webapp service is not installed – The specified service does
Start Nexus
C:\tools\nexus\nexus-2.7.0-04\bin\nexus.bat start

and default user id n password is – admin / admin123

Tagged :

Fatal error: Unable to find local grunt.

scmuser created the topic: Fatal error: Unable to find local grunt.
I am getting following error…

grunt lite
grunt-cli: The grunt command line interface. (v0.1.9)

Fatal error: Unable to find local grunt.

If you’re seeing this message, either a Gruntfile wasn’t found or grunt
hasn’t been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:

gruntjs.com/getting-started

Solution

The command line tools are not included with the latest version of Grunt (0.4 at time of writing) instead you need to install them separately.

This is a good idea because it means you can have different versions of Grunt running on different projects but still use the nice concise grunt command to run them.

So first install the grunt cli tools globally:

npm install -g grunt-cli

(or possibly sudo npm install -g grunt-cli ).

You can establish that’s working by typing grunt –version

Now you can install the current version of Grunt local to your project. So from your project’s location…

npm install grunt –save-dev

The save-dev switch isn’t strictly necessary but is a good idea because it will mark grunt in its package.json devDependencies section as a development only module.

rajeshkumar replied the topic: Fatal error: Unable to find local grunt.
while running “npm install -g grunt-cli”, i got following code…

npm http GET registry.npmjs.org/grunt-cli
npm http 304 registry.npmjs.org/grunt-cli

npm ERR! Error: No compatible version found: grunt-cli
npm ERR! No valid targets found.
npm ERR! Perhaps not compatible with your version of node?
npm ERR! at installTargetsError (/usr/share/npm/lib/cache.js:488:10)
npm ERR! at next_ (/usr/share/npm/lib/cache.js:438:17)
npm ERR! at next (/usr/share/npm/lib/cache.js:415:44)
npm ERR! at /usr/share/npm/lib/cache.js:408:5
npm ERR! at saved (/usr/share/npm/lib/utils/npm-registry-client/get.js:147:7)
npm ERR! at Object.oncomplete (/usr/lib/nodejs/graceful-fs.js:230:7)
npm ERR! You may report this log at:
npm ERR! < bugs.debian.org/npm >
npm ERR! or use
npm ERR! reportbug –attach /home/scmbuild/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.2.0-53-generic
npm ERR! command “node” “/usr/bin/npm” “install” “-g” “grunt-cli”
npm ERR! cwd /home/scmbuild
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message No compatible version found: grunt-cli
npm ERR! message No valid targets found.
npm ERR! message Perhaps not compatible with your version of node?
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/scmbuild/npm-debug.log
npm not ok
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

rajeshkumar replied the topic: Fatal error: Unable to find local grunt.
Seems like node is older version so need to user latest…
How to upgrade nodes in Ubantu
Install the dependencies:

sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core

Run the following commands:

git clone git://github.com/ry/node.git
cd node
./configure
make
sudo make install

How to install grunt
Here’s what I did to fix this:

Uninstalled grunt globally:

npm uninstall -g grunt

Installed grunt-cli globally:

npm install -g grunt-cli

Then, in project root dir:

npm install

And all is good. Hope this works for anyone else running into this.
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

rajeshkumar replied the topic: Fatal error: Unable to find local grunt.
After running latest nodes, while using folliowing commands i got following error…”npm install -g grunt-cli”

module.js:333
throw err;
^
Error: Cannot find module ‘graceful-fs’
at Function.Module._resolveFilename (module.js:331:15)
at Function.Module._load (module.js:273:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object. (/usr/share/npm/lib/utils/ini.js:32:10)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Module.require (module.js:357:17)
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

rajeshkumar replied the topic: Fatal error: Unable to find local grunt.
From in stacekoverlfow..

Don’t download npm from aptitude or apt-get. Instead try:

git clone git://github.com/isaacs/npm.git
cd npm/scripts
chmod +x install.sh
sudo ./install.sh

saw it here: NPM can’t install appjs. Error: Cannot find module ‘graceful-fs’

or

sudo npm install

or

sudo apt-get remove npm
sudo apt-get install npm
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Error: Cannot find module ‘graceful-fs’

rajeshkumar created the topic: Error: Cannot find module ‘graceful-fs’
Error –

Error: Cannot find module ‘graceful-fs’
at Function.Module._resolveFilename (module.js:331:15)
at Function.Module._load (module.js:273:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object. (/usr/share/npm/lib/utils/ini.js:32:10)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Module.require (module.js:357:17)
root@mtv-ubld-39:~/node/npm/scripts# export NODE_PATH=/usr/lib/nodejs/graceful-fs.js
root@mtv-ubld-39:~/node/npm/scripts# echo $NODE_PATH
/usr/lib/nodejs/graceful-fs.js
root@mtv-ubld-39:~/node/npm/scripts# echo $NODE_PATH
/usr/lib/nodejs/graceful-fs.js

Solution

Your npm isn’t properly installed. Execute (as root):

curl npmjs.org/install.sh | bash

This reinstalls npm on your computer, it should work afterwards.

You might need to restart your shell after that for the changes to take effect.

In some cases even the installer fails because of the graceful-fs error, in this case you might need to remove npm using your distribution’s package manager first, e.g.

sudo apt-get remove npm

Or

www.scmgalaxy.com/48-other-build-tools/2…ind-local-grunt.html
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

aapt.exe has encountered a problem and needs to close

rajeshkumar created the topic: aapt.exe has encountered a problem and needs to close
aapt.exe has encountered a problem and needs to close

I am getting following error as below with my maven build…

[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:apklib (default-apklib) on project QBConnect: MojoExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C “C:\Android\android-sdk\build-tools\android-4.4\aapt.exe package -f -M C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\AndroidManifest.xml -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_QBSharedLib_apklib_3.5.0-dev-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.mobilelib.util_MobileLibUtil_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.mobilelib.chart_MobileLibChart_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_android-support-v7-appcompat_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_com.github.chrisbanes.pulltorefresh_apklib_2.1.1/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_google-play-services-lib_apklib_3.4.0-SNAPSHOT/res –auto-add-overlay -A C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\assets -I C:\Android\android-sdk\platforms\android-19\android.jar -F C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\QBConnect-3.5.0-dev-SNAPSHOT.ap_”, Result = -1073741819 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:apklib (default-apklib) on project QBConnect:
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException:
at com.jayway.maven.plugins.android.phase09package.ApklibMojo.generateIntermediateApk(ApklibMojo.java:431)
at com.jayway.maven.plugins.android.phase09package.ApklibMojo.execute(ApklibMojo.java:118)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
… 19 more
Caused by: com.jayway.maven.plugins.android.ExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C “C:\Android\android-sdk\build-tools\android-4.4\aapt.exe package -f -M C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\AndroidManifest.xml -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_QBSharedLib_apklib_3.5.0-dev-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.mobilelib.util_MobileLibUtil_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.mobilelib.chart_MobileLibChart_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_android-support-v7-appcompat_apklib_3.4.0-SNAPSHOT/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_com.github.chrisbanes.pulltorefresh_apklib_2.1.1/res -S C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\unpack\apklibs/com.intuit.quickbooks_google-play-services-lib_apklib_3.4.0-SNAPSHOT/res –auto-add-overlay -A C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\assets -I C:\Android\android-sdk\platforms\android-19\android.jar -F C:\vault\workspace\FULL-fmm-client-QBOMobile-trunk\QBConnect\target\QBConnect-3.5.0-dev-SNAPSHOT.ap_”, Result = -1073741819
at com.jayway.maven.plugins.android.CommandExecutor$Factory$DefaultCommandExecutor.executeCommand(CommandExecutor.java:246)
at com.jayway.maven.plugins.android.phase09package.ApklibMojo.generateIntermediateApk(ApklibMojo.java:427)
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

TeamCity EC2 Integration via ISA Server

rajeshkumar created the topic: TeamCity EC2 Integration via ISA Server
I have a TeamCity server which is actually installed on SBS 2003 Premium with ISA Server (firewall/proxy) installed. My ADSL connection has multiple IP addresses, which all resolve directly to my SBS external NIC. The NIC is therefore multi-homed and I have allocated one of the IP addresses specifically to TeamCity. In ISA, I’ve created an access rule to allow the traffic in. I can access my TeamCity server externally and view the web interface, that all works fine.

I want to use the Amazon EC2 integration in TeamCity to launch build agents ‘in the cloud’. The problem I am having is that when the agent starts, it sees the server and registers, then just sits there waiting. On the server side, the agent appears as ‘disconnected’.

Examining the settings, the agent’s IP address appears to be that of the external NIC. What I think might be happening is that the traffic is undergoing Network Address Translation (NAT) so that TeamCity always thinks the agent is locally installed and therefore can’t communicate with the actual remote agent. This seems to happen even though I have a permanent static IP address dedicated to TeamCity.

So, the question is this. How can I make traffic to a specific IP address pass through the ISA server un-NATted?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Spring integration tests with Team city: OutOfMemo

rajeshkumar created the topic: Spring integration tests with Team city: OutOfMemo
Spring integration tests with Team city: OutOfMemoryError
Hello all,

On our project we wanted to start having integration tests with JUnit and Spring’s helper classes for integration testing.

We used the same context files that we use for the application and added some context files to add objects for test data from our model package.

The tests will run on Team city when commited and are disabled by making the Spring method isDisabledInThisEnvironment() from it’s test helper classes return true.

When we run these tests as enabled on our local envirornment, thet run fine. However, when we run them on Team City, the context files alone cause an OutOfMemoryError. We did some diagnosis and realized that if we take away all of the test code that are using the Spring context files for testing, we still get an OutOfMemoryError on Team City.

If we got rid of all of the context files that we wanted to use for integration testing, then Team City would no longer get an OutOfMemoryError.

Is there a way Spring can be configured to do these integration tests without getting an OutOfMemoryError on Team City? Is there a way to configure Team city so we do not get an OutOfMemoryError using the Spring context files for our integration tests?
Reply With Quote
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Finding out who broke the most builds in Teamcity

scmuser created the topic: Finding out who broke the most builds in Teamcity
Is there a simple way of finding out how many successful/broken builds a user has generated in Teamcity? We need this to find out who buys beers on friday 🙂

Tagged :