Build SSIS projects in a docker container - docker

Currently we use devenv to compile SSIS projects and to create an ispac file.
I'm trying to acheive the same using a docker container. I tried installing VS 2017 in docker using commandline but running devenv just hangs and does not produce any output.
Different to the above issue, our acutal SSIS projects are built on legacy VS2013 and haven't been moved to 2017 yet. Is there a way of achieving this in docker container? Does anyone have experience of this?

From what I understand this is not currently supported and from Microsoft side there are no plans yet to support SSIS running on Docker.
On Docker side, the issue to support SSIS is still open as well

Related

Using Jenkins Container to build Delphi applications

I wish to setup Jenkins using Docker to build different projects, some are in Delphi, some in node.js + AngularJS.
For the node.js and Angular, I think it can be done with a Linux container, but for what concerns the Delphi I think I have to use a Windows container or an agent build on windows container.
I've tried googling around but I've not found any docker container build on windows and Jenkins agent.
Anyone has got a similar need and found a clean and easy way to set up such an enviorment?
Thanks

How to debug .net Core project with Docker support, using Visual Studio on a remote docker server

There are many similar questions like this, but my scenario is slightly different.
I use Visual Studio Enterprise 2017, dotnet Core app 2.0, on a Windows 10 Pro machine, where is running docker for windows.
I can run and debug my applications in my local machine's docker server, but now I would like to configure visual studio, for my current project only, to run the application in another docker server.
So in practice instead of running commands such as docker run, docker build and so on, I would like it to use docker --tls -H={theotherdockerserver} build ...
I could not find so far any parameter or configuration section that allows me to do so.
You need to have all your files accessible from remote server. One way to do this is to put your code in GitHub repository and run command: docker --tls -H={dockerserver} build https://github.com/{user}/{repository}.git
Documentation for GitHub build.
Do you need an option without GitHub repository?

Openshift Jenkins configuring for a Visual studio project

I'm working on configuring Jenkins in Openshift for a visual Studio project.
I need to set the MSBuild path.
Can anyone tell me the value for that or a workaround?
Here is a reference i used.
http://www.codeproject.com/Articles/878203/Integrate-Jenkins-with-MSBuild-and-NuGet
OpenShift Online does not run Window, nor does it support running Windows executables (*.exe files). OpenShift will also not support running a .NET project on it, which is what it looks like you are trying to do...
Not sure he said Openshift Online, however Openshift can run dotnet core applications on Openshift.

How to automate the download and installation of Sitecore update packages generated from TFS build?

I am developing a Sitecore solution locally using TDS. Our source control and build server is Visual Studio Team Services (in the cloud). I would like to figure out a way to implement Continuous Integration and get builds to be automatically installed on an Integration server that is an Amazon VM (or it could be some other externally located server). I have the TDS build configuration set up to create a Sitecore Update Package. The build process works great. At the end of the build process I have the Sitecore Update Package sitting in a Drops folder in source control (TFS in the cloud). Now I can't figure out how to automate the process of getting that update package out of source control and downloading it to the Integration server and running the Sitecore command to install it.
In a perfect world you would use something along the lines of a fancy Microsoft Release Management to deploy it to the environment of choice. However, if you are like the majority of us mere mortals without the fancy tools - this should help: https://github.com/adoprog/Sitecore-Deployment-Helpers
With these pages you could just send a get request from TFS or use the logic to write a custom PowerShell post-build script. Hope this helps!
As you are using TFS you get to use Release Management for Visual Studio out of the box. This is a simple install but at this time is separate. I have an instance of RM running in a VM and attached to my VSO instance for running deployments.
I would expect this tool, which was bought by MS last year, would become more integrated in vNext.

SSIS 2012 Continuous Integration with TFS 2013

I’ve been reading some articles (this one in particular: http://speaksql.wordpress.com/2013/06/07/a-journey-to-db-deployment-automaton-ssis-build-using-msbuild/) about using msbuild.exe to build and deploy an SSIS package (.ispac). I had no problem with that from my computer which has all the required assemblies, and only using the msbuild.exe command.
Once I tried to use the TFS Build Server I had some problems. First I realized that using a project with msbuild.exe (SSIS.MSBuild.proj) was not recommended with TFS 2013 since it was used with TFS 2008 and 2010. Anyway, I just wanted to make it work and it sounded plausible, but I had to use the TFSBuild.proj. That was not a problem, but my next problem was that the project I was being using (Microsoft SQL Server Community Samples: Integration Services) references a SQL Server assembly (Microsoft.SqlServer.ManagedDTS) which is not installed on my build server.
Then I realized that even if I managed to install that assembly on the gac, or referenced it on a relative path I would have a bigger problem next, I am using custom activities on my packages which I need to install using gacutil.exe on the host server, and I was wondering how to install, remotely, those dll.
That’s when I started to lose faith, and here I am, is there an “easy” way to implement continuous integration for SSIS packages without installing third party tools (http://remotegacutil.codeplex.com/ for example), and adding missing assemblies to the gac of a build server?
Did any of you have a similar issue? Did you solve it? How?
Thanks!
Use devenv.exe to build the ispac. Add an invoke process task and call out to devenv.
Add an Invoke Process to the Build Template, the one above shows a Sequence container, which assigns the path to the correct version of DeVenv to call, VS2010 /12 /13 etc. this is shown as hard coded but can be put into an argument, so it can be populated in individual build definitions. the one you can't see clearly is "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.com"
Next is the invoke Process, this call out to the specified devenv.exe and passes arguments used to build the ISPAC file.
The arguments are passed in localProject would get you the actual project you wanted to build in previous versions, you may have to do something different for 2013, due to the changes to the new templates.
this gives a TFS2012 way of doing it, as i say you may have to do something different to get the project that you want to build under 2013, but the build will run and an .ISPAC file will be generated.
at this point i would deploy the ISPAC using powershell, you may want to add additional scripts to the powershell calls to handle creating the SSIS Catalog and scheduling of the job.
deploying with Powershell can be found here Deploying ISPAC's with Powershell

Resources