mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-21 07:15:49 +00:00
TeamCity change in 'Spring Petclinic' project: Synchronization with own VCS root is enabled
This commit is contained in:
parent
53ae1cef35
commit
c58aa26b05
2 changed files with 244 additions and 0 deletions
104
.teamcity/pom.xml
vendored
Normal file
104
.teamcity/pom.xml
vendored
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<project>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<name>SpringPetclinic Config DSL Script</name>
|
||||||
|
<groupId>SpringPetclinic</groupId>
|
||||||
|
<artifactId>SpringPetclinic_dsl</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.jetbrains.teamcity</groupId>
|
||||||
|
<artifactId>configs-dsl-kotlin-parent</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>jetbrains-all</id>
|
||||||
|
<url>https://download.jetbrains.com/teamcity-repository</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>teamcity-server</id>
|
||||||
|
<url>https://teklada.teamcity.com/app/dsl-plugins-repository</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<pluginRepositories>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>JetBrains</id>
|
||||||
|
<url>https://download.jetbrains.com/teamcity-repository</url>
|
||||||
|
</pluginRepository>
|
||||||
|
</pluginRepositories>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<sourceDirectory>${basedir}</sourceDirectory>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>kotlin-maven-plugin</artifactId>
|
||||||
|
<groupId>org.jetbrains.kotlin</groupId>
|
||||||
|
<version>${kotlin.version}</version>
|
||||||
|
|
||||||
|
<configuration/>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>compile</id>
|
||||||
|
<phase>process-sources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>compile</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>test-compile</id>
|
||||||
|
<phase>process-test-sources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>test-compile</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.jetbrains.teamcity</groupId>
|
||||||
|
<artifactId>teamcity-configs-maven-plugin</artifactId>
|
||||||
|
<version>${teamcity.dsl.version}</version>
|
||||||
|
<configuration>
|
||||||
|
<format>kotlin</format>
|
||||||
|
<dstDir>target/generated-configs</dstDir>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains.teamcity</groupId>
|
||||||
|
<artifactId>configs-dsl-kotlin-latest</artifactId>
|
||||||
|
<version>${teamcity.dsl.version}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains.teamcity</groupId>
|
||||||
|
<artifactId>configs-dsl-kotlin-plugins-latest</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains.kotlin</groupId>
|
||||||
|
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||||
|
<version>${kotlin.version}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains.kotlin</groupId>
|
||||||
|
<artifactId>kotlin-script-runtime</artifactId>
|
||||||
|
<version>${kotlin.version}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
140
.teamcity/settings.kts
vendored
Normal file
140
.teamcity/settings.kts
vendored
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
import jetbrains.buildServer.configs.kotlin.*
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildFeatures.PullRequests
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildFeatures.notifications
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildFeatures.perfmon
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildFeatures.pullRequests
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildSteps.kotlinFile
|
||||||
|
import jetbrains.buildServer.configs.kotlin.buildSteps.maven
|
||||||
|
import jetbrains.buildServer.configs.kotlin.triggers.vcs
|
||||||
|
|
||||||
|
/*
|
||||||
|
The settings script is an entry point for defining a TeamCity
|
||||||
|
project hierarchy. The script should contain a single call to the
|
||||||
|
project() function with a Project instance or an init function as
|
||||||
|
an argument.
|
||||||
|
|
||||||
|
VcsRoots, BuildTypes, Templates, and subprojects can be
|
||||||
|
registered inside the project using the vcsRoot(), buildType(),
|
||||||
|
template(), and subProject() methods respectively.
|
||||||
|
|
||||||
|
To debug settings scripts in command-line, run the
|
||||||
|
|
||||||
|
mvnDebug org.jetbrains.teamcity:teamcity-configs-maven-plugin:generate
|
||||||
|
|
||||||
|
command and attach your debugger to the port 8000.
|
||||||
|
|
||||||
|
To debug in IntelliJ Idea, open the 'Maven Projects' tool window (View
|
||||||
|
-> Tool Windows -> Maven Projects), find the generate task node
|
||||||
|
(Plugins -> teamcity-configs -> teamcity-configs:generate), the
|
||||||
|
'Debug' option is available in the context menu for the task.
|
||||||
|
*/
|
||||||
|
|
||||||
|
version = "2024.03"
|
||||||
|
|
||||||
|
project {
|
||||||
|
|
||||||
|
buildType(Build)
|
||||||
|
buildType(Deploy)
|
||||||
|
|
||||||
|
params {
|
||||||
|
text("notified_persons", """
|
||||||
|
tommaso@teklada.com
|
||||||
|
tpgionfriddo@gmail.com
|
||||||
|
""".trimIndent(),
|
||||||
|
regex = """^((([\w-\.]+@([\w-]+\.)+[\w-]{2,4})) *(\r\n|\r|\n) *)*(([\w-\.]+@([\w-]+\.)+[\w-]{2,4}))${'$'}""")
|
||||||
|
param("repo_name", "spring-petclinic")
|
||||||
|
password("github_key", "credentialsJSON:405d3744-add6-49d5-a271-6dfd185492c2")
|
||||||
|
param("repo_owner", "TPG-Teklada")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
object Build : BuildType({
|
||||||
|
name = "Build"
|
||||||
|
|
||||||
|
artifactRules = "+:target/*.jar"
|
||||||
|
publishArtifacts = PublishMode.SUCCESSFUL
|
||||||
|
|
||||||
|
params {
|
||||||
|
param("maven.project.version", "1")
|
||||||
|
param("maven.project.artifactId", "%repo_name%")
|
||||||
|
}
|
||||||
|
|
||||||
|
vcs {
|
||||||
|
root(DslContext.settingsRoot)
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
maven {
|
||||||
|
name = "build"
|
||||||
|
id = "build"
|
||||||
|
goals = "package"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
triggers {
|
||||||
|
vcs {
|
||||||
|
branchFilter = "+:pull/*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
features {
|
||||||
|
perfmon {
|
||||||
|
}
|
||||||
|
pullRequests {
|
||||||
|
provider = github {
|
||||||
|
authType = vcsRoot()
|
||||||
|
filterAuthorRole = PullRequests.GitHubRoleFilter.MEMBER_OR_COLLABORATOR
|
||||||
|
}
|
||||||
|
}
|
||||||
|
commitStatusPublisher {
|
||||||
|
publisher = github {
|
||||||
|
githubUrl = "https://api.github.com"
|
||||||
|
authType = vcsRoot()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
object Deploy : BuildType({
|
||||||
|
name = "Deploy"
|
||||||
|
|
||||||
|
vcs {
|
||||||
|
root(DslContext.settingsRoot)
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
kotlinFile {
|
||||||
|
id = "kotlinScript"
|
||||||
|
path = "github_release.main.kts"
|
||||||
|
arguments = """-repoOwner "%repo_owner%" -repoName "%repo_name%" -tagName "v${Build.depParamRefs["maven.project.version"]}" -releaseName "Release ${Build.depParamRefs["maven.project.version"]}" -description "Description of the release" -filePath "${Build.depParamRefs["maven.project.artifactId"]}-${Build.depParamRefs["maven.project.version"]}.jar" -token "%github_key%""""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
triggers {
|
||||||
|
vcs {
|
||||||
|
branchFilter = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
features {
|
||||||
|
notifications {
|
||||||
|
notifierSettings = emailNotifier {
|
||||||
|
email = "%notified_persons%"
|
||||||
|
}
|
||||||
|
buildFinishedSuccessfully = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
dependency(Build) {
|
||||||
|
snapshot {
|
||||||
|
onDependencyFailure = FailureAction.FAIL_TO_START
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
artifactRules = "+:*.jar"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
Loading…
Reference in a new issue