All samples have been converted to TF 0.12 syntax. Samples have also been organized in separate folders to make it easy to apply configurations.
Project has been converted to use Go Modules. This follows on other major providers and Terraform project itself.
Breaking change on teamcity_build_trigger
resource. I've decided to create separate resource types for different types of build triggers, since the configuration complexity of these resources will greatly increase if kept on a single "build trigger" resource type.
Thus, three new resources will be created:
teamcity_build_trigger_vcs
: Corresponding to Build Triggers of typeVCS
teamcity_build_trigger_build_finish
: Corresponding to Build Triggers of typeFinish Build
teamcity_build_trigger_schedule
: Corresponding to Build Triggers of typeSchedule
When implementing steps
for build configurations, I decided to make them an embedded resource rather than a separate resource. Example:
resource "teamcity_build_configuration" "build_release" {
// ...
step {
type = "powershell"
name = "build release"
file = "build.ps1"
args = "-Target buildrelease -Verbosity detailed"
}
step {
type = "commandline"
name = "notify"
file = "notify.cmd"
}
}
Build Features will be implemented as a separate resource per "Build Feature Type". So for each kind of feature, there will be a separate resource that can be linked to the build configuration. Example:
resource "teamcity_build_configuration" "pull_request" {
// ...
}
resource "teamcity_feature_commit_status_publisher" "github_commit_update" {
build_config_id = "${teamcity_build_configuration.pull_request.id}
publisher = "github"
github {
auth_type = "password"
host = "https://api.github.com"
username = "username"
password = "${var.github_password}"
}
}