What is Build Log file? - build

i'm looking for an explanation on Build Log file, what is it exactly and what is the structure of it?
I couldn't find clear explanation on the internet.

Build Log refers to the log when you try to build your program with the help of some build tools like, maven ant gradle etc. Each tool has its own approach of printing the logs onto the console. The build tool compiles your entire project like checking dependencies, downloading dependencies, compiling with the dependencies, generating jar, war ear files etc... and logs generated for all these activities together are referred to as build log. When you build your project, you look for the successful build message in the log or if any error occurs you refer to the error in the build log.

Related

Do I need to use a .build file, or can I just call msbuild and pass a configuration name?

I'm trying to automate my build process with TeamCity. Some tutorials tell me I need to set up a .build script to do stuff, but it looks like TeamCity can already do all that stuff. Can't I just call MsBuild and pass in the target solution/project and specify a configuration name and publish profile name? What's so special about a .build file?
TeamCity uses what they call "Runners." There are a dozen already configured, one of which is the Visual Studio runner, and that will allow you to build a Visual Studio solution. The difference between a build file and TeamCity runners is that you have to configure the runners through the interface (or the API) while a complicated build you can craft through a single build script. It's a matter of preference.

Why would a pre-build event failed with error code 3 in a TeamCity build?

I am using TeamCity for Continuous Integration. One of my projects in a solution is having a pre build event. It is working fine when I build the project locally. However In TeamCity, the build failed with error code 3. Pre build event is for building Google Protocol buffer's proto file and creating C++ header and C++ source files.
Following is the pre build event:
protoc --proto_path=<SourceDir> --cpp_out=<destinationDir> <SourceDir\protofileName1> <SourceDir\Protofilename2>
Why I am getting this error in TeamCity but not locally ? Any ideas on how to fix this error?

Team Build ignores MSBuild arguments

I have created a new team build definition. On every checkin, the build happens on a TFS server (another build controller). After the build completes, I want to publish the files. The MSBuild input arguments used are /p:DeployOnBuild=true;PublishProfile=QADeploy. QADeploy is the publishing profile created.
I expect the team build to succeed which happens. But the successful build does not publish or attempt to publish the files to the destination folder. Any ideas why, the publish via publish profile is not triggered?
Weird, but adding the Visual Studio Version resolved the problem:
/p:DeployOnBuild=true /p:PublishProfile=QADeploy /p:VisualStudioVersion=11.0
I had the same issue and was pulling my hair out. Check out this Similar Problem, it helped me.
I fixed it via copying both WEB and WEB APPLICATION web build targets from this path on a PC with VS installed into the matching path on the build server:
C:\Program Files\MSBuild\Microsoft\VisualStudio\v11.0
(path for VS 2012)
I am not sure if their suggestion of using the full installer for web deploy helps. I tried both suggestions at the same time and it worked there after.
Also it only works on a Web Project

How do I minify javascript files using RequireJS in AppHarbor?

In my Release post-build event I run node.exe in order to minify and combine my javascript files with RequireJS. This creates new folders and minified files inside my website folders which I then reference in my HTML when debugging is disabled.
node.exe is contained within my source control, and building this on my local machine works fine.
When this is built on AppHarbor, I am getting the following error straight after running
"node.exe <<PATH TO r.js>> -o <<PATH TO app.build.js>>"
:
fs.js:520
return binding.lstat(pathModule._makeLong(path));
^
EXEC : error : EPERM, operation not permitted 'D:\temp'
Is this because I don't have permission to create folders/files on AppHarbor? How would I be able to get around this and build the minified files?
I don't want to have the minified files pre-built into source control.
From AppHarbor FAQ:
http://support.appharbor.com/kb/getting-started/frequently-asked-questions
My application cannot write files
By default, applications deployed on AppHarbor can only write to the App_Data folder.
You can enable write access to the entire application directory application settings.
Note that changes (both to App_Data and the rest of the application directory) are not persisted between deploys and you should only use it for caching and other temporary uses.
Hope this helps ;)
The best way to resolve this is probably reproduce the AppHarbor build locally and ensure that everything goes where it's supposed to go. This is what you want to run: msbuild solution.sln /p:Configuration=Release /property:OutDir=C:\temp. There's more in the FAQ: http://support.appharbor.com/kb/getting-started/frequently-asked-questions

Hudson Maven build fails using workspace POM, works when pointing to development copy

I'm developing a series of web applications using Eclipse IDE, Maven, SVN, and Hudson for CI.
When I specify the "Root POM" option in my Hudson job to be the copy of pom.xml in its workspace directory, the build fails citing compilation failure due to missing classpath entries.
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
C:\Users\djones\.hudson\jobs\Store\workspace\trunk\src\main\java\com\app\store\model\User.java:[24,42] package org.hibernate.validator.constraints does not exist
C:\Users\djones\.hudson\jobs\Store\workspace\trunk\src\main\java\com\app\store\dao\UserGroupHibernateSupportDao.java:[8,20] package org.hibernate does not exist
C:\Users\djones\.hudson\jobs\Store\workspace\trunk\src\main\java\com\app\store\dao\UserGroupHibernateSupportDao.java:[10,49] package org.springframework.orm.hibernate3.support does not exist
When I specify the "Root POM" to be the copy of pom.xml in my Eclipse workspace, it builds just fine. It builds fine from Eclipse too.
I want to move Hudson over to a separate machine so several developers can use it, so I can't very well point to my own development workspace to give it a POM. If I try putting an SVN URL in the "root pom.xml" option, it says file not found.
What should I be entering here for a project worked on by several developers, and hosted in an SVN repository?
Turns out some of the dependencies were set as runtime and not compile, so it was my own fault for not paying attention. I'd still like to know why it worked fine when pointing to my Eclipse workspace copy of the POM though?