Build SQL Server Data Project on Ubuntu

  • Hi everyone,

    we are currently designing CI/CD Pipelines and the build server we have available at the moment is a Ubuntu machine.

    I investigated a lot and it seems that this combination is just a bad idea and I really need a windows build server. Basically the CI pipeline is just a task to pull the sources from git and another task to build either the Visual Studio Solution or the Database Project (*.sqlproj).

    In theory I should be able to do it with .Net Core but I need the "Microsoft/VisualStudio/v11.0/SSDT/Microsoft.Data.Tools.Schema.SqlTasks.targets". I could not find any way to get this installed on Ubuntu.

    I tried also using Azure Data Studio instead of Visual Studio 2019. This allow me to develop in any platform but I am still not able to build the project in a linux agent without any user interface.

    I also followed this post https://erikej.github.io/efcore/2020/05/11/ssdt-dacpac-netcore.html

    This worked but is a kind of workaround using .Net Core 2.x which already reached EOL and I want to avoid it.

    Is there any recommended solution that makes sense or I just request as a hard requirement a Windows based agent (build server)?

    Any help will be appreciated.

    Best regards,

    Paul

    Paul Hernández
  • Thanks for posting your issue and hopefully someone will answer soon.

    This is an automated bump to increase visibility of your question.

  • Moving the target of your build process to Windows could help solve issues. You could then install whatever tools you needed to that Windows instance. Control could still be through the Ubuntu server, but it calls to execution on the Windows machine.

    Or

    Take a look at Flyway. It runs natively within Ubuntu. You could use it in combination with a SQL Server container (Linux based, so it should be easy for you), and run the entire thing on the Ubuntu server.

    ----------------------------------------------------
    The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood...
    Theodore Roosevelt

    The Scary DBA
    Author of: SQL Server 2017 Query Performance Tuning, 5th Edition and SQL Server Execution Plans, 3rd Edition
    Product Evangelist for Red Gate Software

  • Hi Grant,

    thanks for your answer.

    I used the MSBuild.Sdk.SqlProj SDk provided here: https://github.com/rr-wfm/MSBuild.Sdk.SqlProj

    With it I was able to build a database project (.sqlproj) with dotnet core.

    Cheers,

    Paul

    Paul Hernández

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply