GoCD is an open-source continuous delivery server replacing TeamCity with native value stream mapping, fan-in dependencies, and unlimited build agents.
Conceived by Thoughtworks in 2008 as Cruise and open-sourced in 2014, GoCD models continuous delivery as an explicit dependency graph. Its server orchestrates materials, stages, and downstream triggers into a value stream map that tracks commit provenance across microservices. Running on Linux, Windows, macOS, and Docker, it provides engineering teams with an unmetered, self-hosted deployment engine.
Continuous delivery performance depends on dependency resolution and agent concurrency. TeamCity structures complex builds through build chains, snapshot dependencies, and artifact dependencies, but JetBrains caps free setups at three build agents and charges recurring licenses for more. GoCD eliminates that concurrency throttle by supporting unlimited static or elastic agents across Kubernetes, bare metal, and virtual machines. Furthermore, GoCD's fan-in algorithm evaluates upstream materials across pipelines, triggering downstream stages only when all prerequisites share a matching, tested revision. This avoids redundant runs and race conditions that choke build queues when concurrent commits traverse branched pipelines.
TeamCity retains an advantage in test execution speed and step caching. JetBrains provides native parallel test splitting and reordering that runs recently failed tests first, shortening feedback loops. GoCD delegates test execution to agent tasks without automated reordering, and its default artifact store routes assets through the central server filesystem rather than offloading directly to object storage. Migrating from TeamCity means converting build configurations or Kotlin scripts into GoCD YAML or JSON pipelines, while sizing server disk and network bandwidth for concurrent artifact transfers.
GoCD vs TeamCity — which should you choose? TeamCity offers deeper test reordering and IDE integration but restricts free usage to three agents. GoCD is best for teams needing unlimited build agents and value stream mapping for multi-pipeline delivery without licensing costs.
Can GoCD run on Kubernetes with elastic agents? Yes. GoCD provides official Docker images, Helm charts, and an elastic agent plugin that spins up Kubernetes pods on demand and terminates them after jobs finish.
Does GoCD support pipelines as code? Yes. Pipelines can be defined in YAML or JSON inside Git repositories, enabling version-controlled configurations alongside application source code.
GoCD suits engineering teams that have outgrown linear CI tools and require strict dependency coordination across continuous delivery pipelines. Its Apache-2.0 license eliminates agent seat limits and commercial renewal costs, making large-scale build farms economical to operate. Active development and regular updates through September 2026 keep it a dependable foundation for self-hosted release automation.
We started this exact setup from scratch in a clean Linux machine on Nov 2, 2026 and checked it through GoCD's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p gocd && cd gocd
curl -fsSL https://open-source.store/tools/gocd/compose.yml -o compose.ymltouch .envdocker compose up -dservices:
gocd-server:
image: gocd/gocd-server:v26.1.0
ports:
- "127.0.0.1:8153:8153"
environment:
GOCD_SERVER_JVM_OPTS: "-XX:MaxRAMPercentage=50.0"
volumes:
- gocd-data:/godata
restart: always
healthcheck:
test: ["CMD-SHELL", "curl -f http://127.0.0.1:8153/go/api/v1/health || exit 1"]
interval: 10s
timeout: 5s
retries: 10
start_period: 60s
volumes:
gocd-data:
Lint, codegen, breaking-change checks and dependency management in one Git-native CLI. Open source, no registry lock-in.
Show that GoCD is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 196 s: gocd/gocd-server:v26.1.0.
Based on the upstream setup. Official GoCD server container image. Image pinned to v26.1.0; port 8153 bound to 127.0.0.1 because GoCD starts without authentication by default; data persisted in a named volume; JVM heap percentage configured and healthcheck added.
gocd-server-1 | 2026-11-02T21:12:30.721972464Z jvm 1 | at com.thoughtworks.go.config.MagicalGoConfigXmlLoader.validateCruiseConfig(MagicalGoConfigXmlLoader.java:145)
gocd-server-1 | 2026-11-02T21:12:30.721982756Z jvm 1 | at com.thoughtworks.go.config.MagicalGoConfigXmlLoader.preprocessAndValidate(MagicalGoConfigXmlLoader.java:128)
gocd-server-1 | 2026-11-02T21:12:30.721997172Z jvm 1 | at com.thoughtworks.go.config.FullConfigSaveFlow.preprocessAndValidate(FullConfigSaveFlow.java:97)
gocd-server-1 | 2026-11-02T21:12:30.722015547Z jvm 1 | at com.thoughtworks.go.config.FullConfigSaveNormalFlow.execute(FullConfigSaveNormalFlow.java:61)
gocd-server-1 | 2026-11-02T21:12:30.722026589Z jvm 1 | at com.thoughtworks.go.config.GoFileConfigDataSource.forceLoad(GoFileConfigDataSource.java:433)
gocd-server-1 | 2026-11-02T21:12:30.722036547Z jvm 1 | at com.thoughtworks.go.config.GoFileConfigDataSource.load(GoFileConfigDataSource.java:271)
gocd-server-1 | 2026-11-02T21:12:30.722046506Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.forceReload(CachedGoConfig.java:91)
gocd-server-1 | 2026-11-02T21:12:30.722057631Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.loadConfigIfNull(CachedGoConfig.java:131)
gocd-server-1 | 2026-11-02T21:12:30.722070214Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.loadForEditing(CachedGoConfig.java:109)
gocd-server-1 | 2026-11-02T21:12:30.722096464Z jvm 1 | at com.thoughtworks.go.config.GoConfigDao.loadForEditing(GoConfigDao.java:52)
gocd-server-1 | 2026-11-02T21:12:30.722110964Z jvm 1 | at com.thoughtworks.go.server.service.GoConfigService.getConfigForEditing(GoConfigService.java:186)
gocd-server-1 | 2026-11-02T21:12:30.722122297Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepoService.getConfigRepos(ConfigRepoService.java:89)
gocd-server-1 | 2026-11-02T21:12:30.722133131Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepositoryInitializer.initializeConfigRepositories(ConfigRepositoryInitializer.java:109)
gocd-server-1 | 2026-11-02T21:12:30.722146589Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepositoryInitializer.pluginLoaded(ConfigRepositoryInitializer.java:91)
gocd-server-1 | 2026-11-02T21:12:30.722165797Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.lambda$doPostBundleInstallActivities$1(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722178214Z jvm 1 | at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEachFrom(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722188922Z jvm 1 | at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722200172Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.lambda$doPostBundleInstallActivities$0(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722217047Z jvm 1 | at java.base/java.util.Arrays$ArrayList.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722230464Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.doPostBundleInstallActivities(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722247297Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.loadPlugin(PluginLoader.java:69)
gocd-server-1 | 2026-11-02T21:12:30.722258797Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.refreshBundle(DefaultPluginJarChangeListener.java:185)
gocd-server-1 | 2026-11-02T21:12:30.722270422Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.addPlugin(DefaultPluginJarChangeListener.java:128)
gocd-server-1 | 2026-11-02T21:12:30.722279381Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.pluginJarAdded(DefaultPluginJarChangeListener.java:75)
gocd-server-1 | 2026-11-02T21:12:30.722291672Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.lambda$pluginJarAdded$0(DefaultPluginJarLocationMonitor.java:215)
gocd-server-1 | 2026-11-02T21:12:30.722311506Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.doOnAllPluginJarChangeListener(DefaultPluginJarLocationMonitor.java:236)
gocd-server-1 | 2026-11-02T21:12:30.722325964Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.pluginJarAdded(DefaultPluginJarLocationMonitor.java:215)
gocd-server-1 | 2026-11-02T21:12:30.722335922Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.PluginChangeNotifier.lambda$notify$1(PluginChangeNotifier.java:31)
gocd-server-1 | 2026-11-02T21:12:30.722345297Z jvm 1 | at java.base/java.lang.Iterable.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722359964Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.PluginChangeNotifier.notify(PluginChangeNotifier.java:28)
gocd-server-1 | 2026-11-02T21:12:30.722371631Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.loadAndNotifyPluginsFrom(DefaultPluginJarLocationMonitor.java:182)
gocd-server-1 | 2026-11-02T21:12:30.722387589Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.oneShot(DefaultPluginJarLocationMonitor.java:173)
gocd-server-1 | 2026-11-02T21:12:30.722403714Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.run(DefaultPluginJarLocationMonitor.java:162)
gocd-server-1 | 2026-11-02T21:12:30.722416256Z jvm 1 | 2026-11-02 21:12:30,721 WARN [goPluginLocationMonitor] CachedGoConfig:96 - Error loading cruise-config.xml from disk, keeping previous one
gocd-server-1 | 2026-11-02T21:12:30.722430339Z jvm 1 | java.lang.RuntimeException: The value of 'serverId' uniquely identifies a Go server instance. This field cannot be modified (attempting to change from [43fd6f2a-1d18-4c23-95aa-fd79aeac4ec1] to [61ec9407-f885-4c44-a77c-43c6c8a6cfa0]).
gocd-server-1 | 2026-11-02T21:12:30.722443006Z jvm 1 | at com.thoughtworks.go.config.validation.ServerIdImmutabilityValidator.validate(ServerIdImmutabilityValidator.java:39)
gocd-server-1 | 2026-11-02T21:12:30.722453297Z jvm 1 | at com.thoughtworks.go.config.MagicalGoConfigXmlLoader.validateCruiseConfig(MagicalGoConfigXmlLoader.java:145)
gocd-server-1 | 2026-11-02T21:12:30.722466506Z jvm 1 | at com.thoughtworks.go.config.MagicalGoConfigXmlLoader.preprocessAndValidate(MagicalGoConfigXmlLoader.java:128)
gocd-server-1 | 2026-11-02T21:12:30.722483339Z jvm 1 | at com.thoughtworks.go.config.FullConfigSaveFlow.preprocessAndValidate(FullConfigSaveFlow.java:97)
gocd-server-1 | 2026-11-02T21:12:30.722494381Z jvm 1 | at com.thoughtworks.go.config.FullConfigSaveNormalFlow.execute(FullConfigSaveNormalFlow.java:61)
gocd-server-1 | 2026-11-02T21:12:30.722504464Z jvm 1 | at com.thoughtworks.go.config.GoFileConfigDataSource.forceLoad(GoFileConfigDataSource.java:433)
gocd-server-1 | 2026-11-02T21:12:30.722515547Z jvm 1 | at com.thoughtworks.go.config.GoFileConfigDataSource.load(GoFileConfigDataSource.java:271)
gocd-server-1 | 2026-11-02T21:12:30.722533922Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.forceReload(CachedGoConfig.java:91)
gocd-server-1 | 2026-11-02T21:12:30.722546839Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.loadConfigIfNull(CachedGoConfig.java:131)
gocd-server-1 | 2026-11-02T21:12:30.722555339Z jvm 1 | at com.thoughtworks.go.config.CachedGoConfig.loadForEditing(CachedGoConfig.java:109)
gocd-server-1 | 2026-11-02T21:12:30.722566172Z jvm 1 | at com.thoughtworks.go.config.GoConfigDao.loadForEditing(GoConfigDao.java:52)
gocd-server-1 | 2026-11-02T21:12:30.722576881Z jvm 1 | at com.thoughtworks.go.server.service.GoConfigService.getConfigForEditing(GoConfigService.java:186)
gocd-server-1 | 2026-11-02T21:12:30.722587589Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepoService.getConfigRepos(ConfigRepoService.java:89)
gocd-server-1 | 2026-11-02T21:12:30.722598256Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepositoryInitializer.initializeConfigRepositories(ConfigRepositoryInitializer.java:109)
gocd-server-1 | 2026-11-02T21:12:30.722611214Z jvm 1 | at com.thoughtworks.go.server.service.ConfigRepositoryInitializer.pluginLoaded(ConfigRepositoryInitializer.java:91)
gocd-server-1 | 2026-11-02T21:12:30.722624839Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.lambda$doPostBundleInstallActivities$1(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722634006Z jvm 1 | at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEachFrom(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722643172Z jvm 1 | at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722652047Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.lambda$doPostBundleInstallActivities$0(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722661172Z jvm 1 | at java.base/java.util.Arrays$ArrayList.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722671131Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.doPostBundleInstallActivities(PluginLoader.java:111)
gocd-server-1 | 2026-11-02T21:12:30.722687631Z jvm 1 | at com.thoughtworks.go.plugin.infra.PluginLoader.loadPlugin(PluginLoader.java:69)
gocd-server-1 | 2026-11-02T21:12:30.722698672Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.refreshBundle(DefaultPluginJarChangeListener.java:185)
gocd-server-1 | 2026-11-02T21:12:30.722708506Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.addPlugin(DefaultPluginJarChangeListener.java:128)
gocd-server-1 | 2026-11-02T21:12:30.722733339Z jvm 1 | at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.pluginJarAdded(DefaultPluginJarChangeListener.java:75)
gocd-server-1 | 2026-11-02T21:12:30.722747172Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.lambda$pluginJarAdded$0(DefaultPluginJarLocationMonitor.java:215)
gocd-server-1 | 2026-11-02T21:12:30.722759839Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.doOnAllPluginJarChangeListener(DefaultPluginJarLocationMonitor.java:236)
gocd-server-1 | 2026-11-02T21:12:30.722771006Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.pluginJarAdded(DefaultPluginJarLocationMonitor.java:215)
gocd-server-1 | 2026-11-02T21:12:30.722782006Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.PluginChangeNotifier.lambda$notify$1(PluginChangeNotifier.java:31)
gocd-server-1 | 2026-11-02T21:12:30.722792131Z jvm 1 | at java.base/java.lang.Iterable.forEach(Unknown Source)
gocd-server-1 | 2026-11-02T21:12:30.722809631Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.PluginChangeNotifier.notify(PluginChangeNotifier.java:28)
gocd-server-1 | 2026-11-02T21:12:30.722822506Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.loadAndNotifyPluginsFrom(DefaultPluginJarLocationMonitor.java:182)
gocd-server-1 | 2026-11-02T21:12:30.722833756Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.oneShot(DefaultPluginJarLocationMonitor.java:173)
gocd-server-1 | 2026-11-02T21:12:30.722848422Z jvm 1 | at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.run(DefaultPluginJarLocationMonitor.java:162)
gocd-server-1 | 2026-11-02T21:12:33.399466340Z jvm 1 | 2026-11-02 21:12:33,388 WARN [WrapperJarAppMain] ConfigRepository:193 - [CONFIG REPOSITORY] No head exists in the config repository.
gocd-server-1 | 2026-11-02T21:12:33.419560632Z jvm 1 | 2026-11-02 21:12:33,413 INFO [WrapperJarAppMain] CachedGoConfig:217 - About to notify config listeners
gocd-server-1 | 2026-11-02T21:12:33.419570840Z jvm 1 | 2026-11-02 21:12:33,413 INFO [WrapperJarAppMain] CachedGoConfig:225 - Finished notifying all listeners
gocd-server-1 | 2026-11-02T21:12:33.429637507Z jvm 1 | 2026-11-02 21:12:33,423 INFO [goPluginLocationMonitor] ConfigRepositoryInitializer:112 - [Config Repository Initializer] Done initializing the config repositories for plugin 'json.config.plugin'
gocd-server-1 | 2026-11-02T21:12:33.449813340Z jvm 1 | 2026-11-02 21:12:33,445 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:56 - Plugin load finished: /go-working-dir/plugins/bundled/gocd-json-config-plugin.jar took 2920 ms
gocd-server-1 | 2026-11-02T21:12:33.449822590Z jvm 1 | 2026-11-02 21:12:33,446 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:69 - Plugin load starting: /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.464620965Z jvm 1 | 2026-11-02 21:12:33,449 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:74 - Plugin validated: /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.464629382Z jvm 1 | 2026-11-02 21:12:33,457 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:124 - Plugin unpacked: /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.464646382Z jvm 1 | 2026-11-02 21:12:33,457 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:126 - Plugin activator installed: /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.518930007Z jvm 1 | LOGBACK: No context given for ch.qos.logback.core.ConsoleAppender[null]
gocd-server-1 | 2026-11-02T21:12:33.518941924Z jvm 1 | 2026-11-02 21:12:33,514 INFO [goPluginLocationMonitor] p.c.g.a.p.c.g.a.p.PasswordFilePlugin:73 [plugin-cd.go.authentication.passwordfile] - Loading plugin null version 3.0.0-418
gocd-server-1 | 2026-11-02T21:12:33.539092965Z jvm 1 | 2026-11-02 21:12:33,529 WARN [goPluginLocationMonitor] p.c.g.a.p.c.g.a.p.PasswordFilePlugin:98 [plugin-cd.go.authentication.passwordfile] - Request go.plugin-settings.get-configuration is not supported by plugin.
gocd-server-1 | 2026-11-02T21:12:33.539103174Z jvm 1 | 2026-11-02 21:12:33,529 WARN [goPluginLocationMonitor] PluginSettingsMetadataLoader:63 - Failed to fetch plugin settings metadata for plugin cd.go.authentication.passwordfile. Maybe the plugin does not implement plugin settings and view?
gocd-server-1 | 2026-11-02T21:12:33.539116257Z jvm 1 | 2026-11-02 21:12:33,529 WARN [goPluginLocationMonitor] PluginSettingsMetadataLoader:64 - Plugin: cd.go.authentication.passwordfile - Metadata load info: [{extension='authorization', configuration='null', view='null', error='The plugin sent a response that could not be understood by Go. Plugin returned with code '500' and the following response: 'Request go.plugin-settings.get-configuration is not supported by plugin.''}]
gocd-server-1 | 2026-11-02T21:12:33.539117549Z jvm 1 | 2026-11-02 21:12:33,529 WARN [goPluginLocationMonitor] PluginSettingsMetadataLoader:65 - Not all plugins are required to implement the request above. This error may be safe to ignore.
gocd-server-1 | 2026-11-02T21:12:33.539118257Z jvm 1 | 2026-11-02 21:12:33,529 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:56 - Plugin load finished: /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar took 83 ms
gocd-server-1 | 2026-11-02T21:12:33.539121757Z jvm 1 | 2026-11-02 21:12:33,534 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:69 - Plugin load starting: /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.539122424Z jvm 1 | 2026-11-02 21:12:33,534 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:74 - Plugin validated: /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.549236549Z jvm 1 | 2026-11-02 21:12:33,543 INFO [WrapperJarAppMain] InvalidateAuthenticationOnSecurityConfigChangeFilter:80 - [Configuration Changed] Security Configuration is changed. Updating the last changed time.
gocd-server-1 | 2026-11-02T21:12:33.559324799Z jvm 1 | 2026-11-02 21:12:33,552 INFO [WrapperJarAppMain] PipelineRepository:78 - Start updating pipeline timeline
gocd-server-1 | 2026-11-02T21:12:33.569409674Z jvm 1 | 2026-11-02 21:12:33,563 INFO [WrapperJarAppMain] PipelineRepository:84 - Pipeline timeline updated
gocd-server-1 | 2026-11-02T21:12:33.569416840Z jvm 1 | 2026-11-02 21:12:33,563 INFO [WrapperJarAppMain] PipelineSqlMapDao:125 - Loading active pipelines into memory.
gocd-server-1 | 2026-11-02T21:12:33.569425382Z jvm 1 | 2026-11-02 21:12:33,563 INFO [WrapperJarAppMain] PipelineSqlMapDao:357 - Retrieving Active Pipelines from Database...
gocd-server-1 | 2026-11-02T21:12:33.569426132Z jvm 1 | 2026-11-02 21:12:33,565 INFO [WrapperJarAppMain] PipelineSqlMapDao:127 - Done loading active pipelines into memory.
gocd-server-1 | 2026-11-02T21:12:33.579497507Z jvm 1 | 2026-11-02 21:12:33,569 INFO [WrapperJarAppMain] ConsoleActivityMonitor:83 - Found '0' building jobs. Added them with '2026-11-02T21:12:33.565Z' as the last heard time
gocd-server-1 | 2026-11-02T21:12:33.579504632Z jvm 1 | 2026-11-02 21:12:33,569 INFO [WrapperJarAppMain] ConsoleActivityMonitor:84 - Found '0' scheduled jobs. Added them with '2026-11-02T21:12:33.565Z' as the last heard time
gocd-server-1 | 2026-11-02T21:12:33.579516840Z jvm 1 | 2026-11-02 21:12:33,577 INFO [WrapperJarAppMain] RailsAssetsService:70 - Found rails assets manifest file named .sprockets-manifest-952b259986044dd69520c47b38a48615.json
gocd-server-1 | 2026-11-02T21:12:33.579518215Z jvm 1 | 2026-11-02 21:12:33,578 INFO [WrapperJarAppMain] RailsAssetsService:73 - Successfully read rails assets manifest file located at /go-working-dir/work/jetty-0_0_0_0-8153-cruise_war-_go-any-/webapp/WEB-INF/rails/public/assets/.sprockets-manifest-952b259986044dd69520c47b38a48615.json
gocd-server-1 | 2026-11-02T21:12:33.629883840Z jvm 1 | 2026-11-02 21:12:33,620 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:124 - Plugin unpacked: /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.629895590Z jvm 1 | 2026-11-02 21:12:33,623 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:126 - Plugin activator installed: /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar
gocd-server-1 | 2026-11-02T21:12:33.650035257Z jvm 1 | 2026-11-02 21:12:33,649 INFO [WrapperJarAppMain] JRubyRack:56 - jruby 9.4.15.0 (3.1.7) 2026-06-08 6114208a31 OpenJDK 64-Bit Server VM 25.0.3+9-LTS on 25.0.3+9-LTS +jit [aarch64-linux]
gocd-server-1 | 2026-11-02T21:12:33.650046049Z jvm 1 | 2026-11-02 21:12:33,649 INFO [WrapperJarAppMain] JRubyRack:56 - using a shared (thread-safe) runtime
gocd-server-1 | 2026-11-02T21:12:33.795317382Z jvm 1 | 2026-11-02 21:12:33,788 INFO [goPluginLocationMonitor] ConfigRepositoryInitializer:107 - [Config Repository Initializer] Start initializing the config repositories for plugin 'yaml.config.plugin'
gocd-server-1 | 2026-11-02T21:12:33.795335174Z jvm 1 | 2026-11-02 21:12:33,788 INFO [goPluginLocationMonitor] ConfigRepositoryInitializer:112 - [Config Repository Initializer] Done initializing the config repositories for plugin 'yaml.config.plugin'
gocd-server-1 | 2026-11-02T21:12:33.805418674Z jvm 1 | 2026-11-02 21:12:33,795 INFO [goPluginLocationMonitor] DefaultPluginJarChangeListener:56 - Plugin load finished: /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar took 261 ms
gocd-server-1 | 2026-11-02T21:12:39.080996718Z jvm 1 | 2026-11-02 21:12:39,074 WARN [WrapperJarAppMain] DeprecationWarning:38 - Using @Deprecated Class com.thoughtworks.go.server.web.DefaultHeadersFilter
gocd-server-1 | 2026-11-02T21:12:39.338941843Z jvm 1 | 2026-11-02 21:12:39,335 INFO [WrapperJarAppMain] GoServer:65 - GoCD server started successfully.
gocd-server-1 | 2026-11-02T21:12:41.211024052Z jvm 1 | 2026-11-02 21:12:41,204 INFO [Jetty-35] GoConfigDao:64 - Config update for entity request by Username[username=anonymous, displayName='anonymous'] is in queue - com.thoughtworks.go.config.update.AddEnvironmentCommand@54e6d70a
gocd-server-1 | 2026-11-02T21:12:41.211060886Z jvm 1 | 2026-11-02 21:12:41,205 INFO [Jetty-35] GoConfigDao:67 - Config update for entity request by Username[username=anonymous, displayName='anonymous'] is being processed
gocd-server-1 | 2026-11-02T21:12:41.211062969Z jvm 1 | 2026-11-02 21:12:41,207 INFO [Jetty-35] GoFileConfigDataSource:492 - [Configuration Changed] Saving updated configuration.
gocd-server-1 | 2026-11-02T21:12:41.221117094Z jvm 1 | 2026-11-02 21:12:41,216 INFO [Jetty-35] MagicalGoConfigXmlWriter:77 - [Serializing Config] Generating config partial.
gocd-server-1 | 2026-11-02T21:12:41.231212636Z jvm 1 | 2026-11-02 21:12:41,222 INFO [Jetty-35] CachedGoConfig:160 - About to notify com.thoughtworks.go.config.BasicEnvironmentConfig config listeners
gocd-server-1 | 2026-11-02T21:12:41.231225302Z jvm 1 | 2026-11-02 21:12:41,223 INFO [Jetty-35] CachedGoConfig:175 - Finished notifying com.thoughtworks.go.config.BasicEnvironmentConfig config listeners
gocd-server-1 | 2026-11-02T21:12:41.231226427Z jvm 1 | 2026-11-02 21:12:41,223 INFO [Jetty-35] GoConfigDao:76 - Entity update for request by Username[username=anonymous, displayName='anonymous'] is completed
gocd-server-1 | 2026-11-02T21:12:41.241725511Z jvm 1 | 2026-11-02 21:12:41,235 INFO [Jetty-41] GoConfigDao:64 - Config update for entity request by Username[username=anonymous, displayName='anonymous'] is in queue - com.thoughtworks.go.config.update.DeleteEnvironmentCommand@574be608
gocd-server-1 | 2026-11-02T21:12:41.241733177Z jvm 1 | 2026-11-02 21:12:41,235 INFO [Jetty-41] GoConfigDao:67 - Config update for entity request by Username[username=anonymous, displayName='anonymous'] is being processed
gocd-server-1 | 2026-11-02T21:12:41.241750302Z jvm 1 | 2026-11-02 21:12:41,236 INFO [Jetty-41] GoFileConfigDataSource:492 - [Configuration Changed] Saving updated configuration.
gocd-server-1 | 2026-11-02T21:12:41.251943927Z jvm 1 | 2026-11-02 21:12:41,243 INFO [Jetty-41] MagicalGoConfigXmlWriter:77 - [Serializing Config] Generating config partial.
gocd-server-1 | 2026-11-02T21:12:41.251952594Z jvm 1 | 2026-11-02 21:12:41,245 INFO [Jetty-41] CachedGoConfig:160 - About to notify com.thoughtworks.go.config.BasicEnvironmentConfig config listeners
gocd-server-1 | 2026-11-02T21:12:41.251953927Z jvm 1 | 2026-11-02 21:12:41,245 INFO [Jetty-41] CachedGoConfig:175 - Finished notifying com.thoughtworks.go.config.BasicEnvironmentConfig config listeners
gocd-server-1 | 2026-11-02T21:12:41.251960261Z jvm 1 | 2026-11-02 21:12:41,245 INFO [Jetty-41] GoConfigDao:76 - Entity update for request by Username[username=anonymous, displayName='anonymous'] is completed