How to build ISPAC using VSTS - ssis

It appears that building ISPAC using MSBuild is near impossible. I'm hoping I can find a way to create ISPACs in the VSTS build processes, but it doesnt appear to be straight forward.
there is a VSTS task by ToxicGlobe
https://github.com/ToxicGlobe/VSTS-SSIS-Extension
However support seems minimum, and there isnt alot of traction.
how does the real world create ISPACs in a common CI process?

There isn’t such build-in task available in VSTS, but you can refer to the source code of VSTS-SSIS-Extension to custom the build/release task to meet your requirement through VSTS extension: Add a build task

I use this command:
devenv SolutionName.sln /Rebuild
In the Bin folder of the project, you are going to find the .ispac file, Remember to include the path of devenv.exe in the System Variable "Path"

Related

Deployment multiply releases at once

I have got about 30+ services. Each service has it's own repository, build and release on different environments.
Is it possible to deploy all releases for the latest build artifacts on the specified environment by single command?
There isn’t the built-in command can do it, but you can build a app (e.g. console application, PowerShell) to create release through Rest API: Create a release
You can create an overarching Release pipeline that use all the build artifacts. The downsides of this option are:
duplication of "code" between the single-component pipeline and the overarching one, mitigate using Task Groups
you do not have a simple display of what is deployed in an environment because you have to look in two places (single-component and overarching)

adding files to all platforms of a cocos2d-x project

This is a very basic question, but I have not been able to find the answer anywhere.
I just got Cocos 2Dx 3.3, made a new project and built the HelloWorld scene that was generated.
It generated projects for all platforms, but I am currently compiling and running the Mac project using XCode.
I can easily add new files using XCode, but of course it only adds it to my XCode Project. I would have expected a way to automatically modify all projects at once to add files or change compiler settings. I saw that there is a CMake file, probably used for command line compilation, but I cannot find a way to use that to regenerate the projects for all platforms.
Is it possible to automatically add a file to all platforms? Maybe it is possible to modify the template directory os Cocos and use the cocos new command line to recreate the project from scratch?
Or is it better to do all that manually?
Such an automation would imply parsing of a project file, finding list of relevant files and then changing all the dozen of project files. Which is hell of the work.
Even if it was implemented, how would this implementation decide which project file is a main one? (to get filelist from) And if your projects all have different lists of files? This would need merging etc. etc.
For now cocos new only copies files from one place to another. Frankly, Cocos2d-x have much more serious problems to solve, so I don't think this feature will ever be implemented.
However, you could customize project files/folders to your needs to make process of adding files more or less convenient and sometimes even automatic. Here are some clues:
It is easy to change Android and Linux Makefiles so they will pick up all the source files from a specified folder. Just use wildcards. Resource files are picked up by default.
For Visual Studio solutions (Win32, Win8, WinPhone) you could enable "Show all files" to see all files that either added or not. Unfortunately you can only see files down in the folder tree relative to project folder. To see Classes folder, make a symlink (link /j) of a Classes folder near .vcxproj file. You'd better don't copy/move project folder after it. And don't forget to add this linked folder to ignore list of your versioning system, or you will end up with duplicated files. Resource files are picked up by default for Windows projects.
I am not aware of any solution for XCode project, so you basically stuck with manual source file addition. Which is most annoying among all platforms. However it can pick up resource folders with all files.
Anyway, I would be glad if someone would proof me wrong and would write some kind of script to solve this problem (and also to change project name, company id, automatic versioning, etc.). I believe it could be done more or less reliably with, let's say Python and some regex magic. At least until project file formats will change.

How do I deliver a new build system in SublimeText3?

I have built a sublimetext3 plugin. Now I have added a build tool. To use this build tool, the user has to go to Tools->Build System->New Build System.
I consider this an extra hassle for the user. Is there a way to package it and deliver it along with the plugin?
Simply add the .sublime-build file (and its dependencies like shell scripts) to the files in your ST package. Unless there's a conflict with another build system, the user can then build using the keyboard shortcut.
Build Systems

How to use lcov test coverage tool with Hudson continuous integration?

In my environment developers use lcov from command line when working with source code's module tests.
I would like to know if there is a way to easily add reports from lcov to Hudson's builds? I would ease and automate the whole procedure of gathering test source code coverage.
If you are looking to publish the generated HTML reports along with your job/builds, have a look at the htmlpublisher plugin: http://wiki.hudson-ci.org/display/HUDSON/HTML+Publisher+Plugin
This allows you to specify multiple html directories and index files to be made accessible from the job or build page.
Have a look at the xUnit Plugin. I found the info in this thread. It has more information for using Hudson to build cpp projects.

SSIS Script task in a 64 bit environment

SSIS (SQL 2005) packages that have a script task that invoke custom .NET dlls throw the following error when run in a 64 bit environment
The task cannot execute in 64-bit environment because the script is not pre-compiled. Please turn on the option to pre-compile the script in the task editor.
The script tasks are set to PreCompile=false because the referenced dll is generated by the build process.
The suggested workaround is:
Option 1. With precompiled=True, Open, save and close the package in BIDS after the build is complete
. This will recompile the reference and generate the embedded 64 bit binary in the SSIS package and will cause the above mentioned error to go away. However, this also means that someone has to manually open the SSIS packages after the build is complete.
Option 2. Stick to 32 bit mode.
Option 1 is the feasible one of the two, but impractical. With 200 SSIS packages - we are short of hands to finish this task every time we generate the build.
Option 2 is out of the question because 32 bit just doesn't scale for us.
Now the questions:
1. Do you folks have a build process for your SSIS packages? If yes, can you share your practices
2. How do you manage script tasks? Are you comfortable bundling the developer version of the referenced dll in your scripts?
This is probably not what you want to hear,but i would suggest exploring the idea of replacing some of your script tasks with custom components. There are plently of samples on codeplex. This would allow easy updates because you would just drop new component builds and the referenced assemblies into GAC.
HTH
Pragmatic Works has something (I have never used) called BI xPress which has something which might help.