TeamCity and Octopus SSIS package pipeline

28 Mar 2018

octopus ssis teamcity

Bunch of links about configuring CI/CD pipeline for SSIS packages

Building and packaging SSIS projects in TeamCity
Deploying SSIS projects with Octopus Deploy
Auto-Deploy SSIS packages with VSTS and Octopus Deploy
Parameterizing Connections and Values at Runtime Using SSIS Environment Variables
Getting Started with Parameters, Variables & Configurations in SSIS 2012
A Better Way To Execute SSIS Packages With T-SQL
Octopus Deploy Library - Deploy ispac SSIS project from a package

Installing and Executing SSIS packages with T-SQL

DECLARE @execution_id BIGINT
EXEC [SSISDB].[catalog].[create_execution] 
    @package_name = N'<package_name>.dtsx'
    , @project_name = N'<project_name>'
    , @folder_name = N'<folder_name>'
    , @use32bitruntime = False
    , @reference_id = NULL
    , @execution_id = @execution_id OUTPUT

-- System parameters
EXEC [SSISDB].[catalog].[set_execution_parameter_value] 
    @execution_id
    , @object_type = 50 -- System parameter
    , @parameter_name = N'<parameter_name>'
    , @parameter_value = <parameter_value>

-- Execute the package
EXEC [SSISDB].[catalog].[start_execution] @execution_id

-- Check package status, and fail script if the package failed
IF 7 <> (SELECT [status] FROM [SSISDB].[catalog].[executions] WHERE execution_id = @execution_id)
RAISERROR('The package failed. Check the SSIS catalog logs for more information', 16, 1)

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.