Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Jan 31 2019 21:37
    ibnc synchronize #5756
  • Jan 31 2019 20:02
    ibnc synchronize #5756
  • Jan 31 2019 19:07
    arvindsv commented #3304
  • Jan 31 2019 19:06
    arvindsv commented #3304
  • Jan 31 2019 18:59
    varshavaradarajan synchronize #5791
  • Jan 31 2019 18:24
    ibnc synchronize #5756
  • Jan 31 2019 18:11
    mushycode commented #3304
  • Jan 31 2019 17:29
    GaneshSPatil opened #5797
  • Jan 31 2019 15:22
    arvindsv unpinned #5776
  • Jan 31 2019 15:07
    arvindsv commented #3304
  • Jan 31 2019 15:07
    arvindsv commented #3304
  • Jan 31 2019 14:59
    arvindsv commented #5796
  • Jan 31 2019 14:09
    akshaydewan commented #5796
  • Jan 31 2019 13:21
    maheshp commented #5796
  • Jan 31 2019 12:42
    ketan commented #5795
  • Jan 31 2019 12:39
    ketan commented #5795
  • Jan 31 2019 12:38
    JorritSalverda commented #5795
  • Jan 31 2019 12:35
    JorritSalverda commented #5795
  • Jan 31 2019 12:35
    JorritSalverda closed #5795
  • Jan 31 2019 12:00
    mushycode commented #3304
Jonathan Block
Seems like GoCD has lots of UI interactions. Is there a way to manipulate and configure the server as code or am I forced to use the UI to customize things?
I'm interested in running GoCD ephemerally such that i launch a GoCD controller inside a pod for every single pipeline run using Kubernetes and then I run like 10-50k pipelines at the same time on kubernetes. Is this doable?

The canonical config descriptor is <servers or>/config/cruise-config.xml

The UI is basically a frontend to modifying that file, so you could create a config that you’re satisfied with and deploy that (maybe templatize and render as needed) to your nodes.

Typo — meant <serverdir>/config/cruise-config.xml
Jonathan Block
I see.. thank you
Aravind SV
Snahil Indoria
Having some issue with GOCD , as when we are creating new branch in bitbucket , gocd is throwing some error
Modification check failed for material:
Hibernate operation: could not retrieve generated id after insert: [com.thoughtworks.go.domain.materials.git.GitMaterialInstance]; uncategorized SQLException for SQL [insert into materials (flyweightName, fingerprint, additionalData, url, username, branch, submoduleFolder, type) values (?, ?, ?, ?, ?, ?, ?, 'GitMaterial')]; SQL state [55000]; error code [0]; ERROR: currval of sequence "materials_id_seq" is not yet defined in this session; nested exception is org.postgresql.util.PSQLException: ERROR: currval of sequence "materials_id_seq" is not yet defined in this session.
I use Gerrit Change Set plugin 1.4.0-RC4 and Gerrit Change Set status notifier 1.7.0-107. It works wonderful if someone pushes a change to gerrit, but the problem occurs if gerrit review is done and the change is merged. After this a pipeline runs with a gerrit revison idea which do not exist
Snahil Indoria
@goone:matrix.org we have used gerrit-cs-poller-1.3.5 and gerrit-cs-status-1.6-73 but still the issue persists
1 reply
Javier Cienfuegos Jr
Quick question, if I have the cipher.aes file in the GoCD Server, which contains the key, and I want to encrypt a value to send to GoCD API, how would I manage to create the IV? What other parameters do I need to set up when encrypting in AES?
I currently have my GoCD Server behind a reverse proxy that uses https and my gocd agents are able to connect to it successfully. Does the server generate a secure connection with the agents or do I need to explicitly setup https on the agents as well?

The server doesn’t reach out to the agents; the agents reach out to the server.

So if your agents are configured with the GoCD server url set to the https url, it should be secure.

Sreemaniteja Yellapragada
hi I'm trying setup GoCD from scratch ..I got the agent configured well and I even configured the proxy URL in wrapper.properties but continously getting "Failed to run git clone command STDERR: fatal: unable to access 'http://xxxxx.git/': Could not resolve host: xxxxx; Unknown error"
any help would be appreciated
It’s just saying the hostname of the git repo you are trying to clone can’t be resolved by dns. maybe your URL is wrong or your server/agent isn’t using the right dns server or is on the wrong network. Make sure that url is resolvable from the server and agent hosts. Manually verify this by hopping on the hosts and test this
Sreemaniteja Yellapragada
Tested manually from the host..git clone worked perfectly fine..only issue is with the gocd
HI All, I need to know if gocd has a functionality that could cover my user case.
USER CASE: a job is running on an agent. This is a long job and require hours. At certain point of the job the agent has problem (nw connection, running out of resources, OS crash). Is there a possibility to move the rest of the job in another agent WITHOUT restart it from the beginning?

Sreemaniteja Yellapragada - odd. There must be some environment difference between your user and the one GoCD is using. Usually, DNS resolution isn’t different between users on a host.

Try with the IP address? Just to be sure it’s no other problem?

@lucaferrarihotmail I’m not sure how that would work in general, GoCD or not. Not saying it isn’t possible, just not straightforward or obvious.

How would a single OS process that crashes in midway be picked up by another process in another host from where it left off? There would have to be some state saved, synchronously, and that would have to be to the new host after recovering from the initial crash. Right?


If you are talking about picking up jobs that didn’t finish in a stage, the GoCD already does this; it doesn’t need to reexecute jobs that have already completed within a stage if the stage fails midway, and can run the jobs that were unfinished or pending.

However, at the task level, this is not possible to continue unfinished tasks on another agent after the original one dies.

yes Marques.. I'm referring to the case you menationed in the first comment
I was thinking to a solution like the one you was immagining with state saved, synch of the agent something like this
2 replies
Sreemaniteja Yellapragada
marques - I cannot try with IP address.It works fine in other environments which don't have proxy configured

You cannot use an IP address? But the error indicates a resolution problem.

Anyhow, what do you mean by proxy? Reverse http proxy, forward proxy, or something like SOCKS proxy?

If your DNS is happening over proxy, you might check there first since you got a resolution error.

@lucaferrarihotmail sorry, I don’t know how that would work.

GoCD does not have native support for such a thing, as I imagine no other software would either. This sounds like some custom functionality specific to your application. Sorry about that, nothing we can do here to that specific solution.

Feel free to elaborate on some specifics of your problem to see if there are alternative approaches to solve your problem, other than what you hypothesized.

Sachin Gupta
Hi I am trying to upgrade gocd from 20.1 to 21.2 but its not working .After version 20.4 its giving error and log showing need to migrate database. I am not sure how to do this, my gocd is running in AWS EKS. I don't fond gocd documentation for db migration useful for system running in kubernetes. Can anyone please guide.
4 replies
Hi team i am looking for some help in webhook github api .. anyone knew that well please ping here
kind of urgent

Hi R.Rajalakshmi it would be more helpful to pose a specific question rather than just say that you need help.

Try to be as specific as possible:

  • what are you trying to accomplish?
  • how did you try to do the above? what approaches did you try so far?
  • what actually happened that was different from your expectations?
  • were you following the docs and were their parts that were unclear or incorrect? Please link the doc you were referencing.
  • is there any useful output, error message, or log that you can post here?
Sachin Gupta: what exactly regarding the DB migration docs are lacking that make it unclear as to how to migrate your DB in your situation? How does running in k8s complicate things with regards to the instructions?
1 reply
David Zschille

Hello! Can a task stop the pipeline without being shown as failed? My use case is a pipeline which deploys on a special staging server whenever there are new commits in the main branch. The pipeline is placed behind our testing pipeline so that it is triggered only when all the tests where successful. This is the task that checks for the main branch:

source ./app_env_vars

if [[ "$APP_CURRENT_BRANCH" == "main" ]]; then
    echo "Yes, it's the main branch!"
    exit 0
    echo "That's not the main branch: $APP_CURRENT_BRANCH"
    exit 1

It works but it's distracting that the pipeline is shown as failed when the latest tested commits where not in main.

I would like to devise a way to generate a historical test report of common test failures from our test stage in a pipeline. This would be for trend analysis to help us spot and resolve either flakey tests or inconsistent failures which may be genuine but difficult to spot. I have not seen any features on GoCD documentation that lends itself as a solution to this - would anyone on this thread know of any possible solutions to this problem other than building a process from scratch (which may be my option otherwise!) :)
2 replies
Sam Ag
hi, We have been using GoCD for a long time (@Myriad Genetics/Counsyl). We are on version 20.10.0. A couple of days ago it started responding sluggishly on the UI and the pipelines are also taking a long time. We are using a 8cpu AWS instance for the server and have around 100 agents. We do not see any resource issue except that sometimes cpu is very high and the load is higher than normal but still much lower than 1/core.
8 replies
Nick Ferguson
i am trying to do the 20.4 -> 20.5 database migration from h2 to postgres and it is throwing exceptions, a lot of invalid format, and later UI warnings that it can't insert because of constraint violations. the modifications table is not getting copied completely during the migration is what i am guessing the cause is.
Fabricio Correa Duarte
I haven't seen a release in the past few months, last being 21.2 back in March. Has the release cadance changed?
Looks like agent is stuck in cancelling a job, the job was cancelled
what should i do to cancel the building process of an agent?
If the agent is stuck waiting on a child process to exit, you can hop onto the host running that agent and manually kill the stuck child process(es). That ought to free up the agent
@mdkadar ☝🏼
@fabriciocduarte the cadence isn’t monthly anymore — GoCD releases are cut as-needed (security fixes, new features, etc).
That sounds sensible - ultimately it’s just about following the same conceptual steps, which I think you’ve done:
  1. Bring DB up to date with 20.4.0 & back up DB
  2. Run migrator tool on the H2 file to generate a new H2 file in the new format
  3. Replace H2 DB (cruise.h2.db) with the newly generated one in the prior step (cruise.mv.db — note the name change)
  4. Upgrade to newer GoCD (anything after 20.5.0) and verify everything works
We're trying to upgrade GoCD Agent from 19.5 to 20.1 (or any higher version) on ARM64 (a HIL rig running Ubuntu18) and during installation it complains about not being able to find wrapper binaries for arm64. Are they not bundled any more?
Adding them manually makes us run into another issue: Cannot resolve JAVA version.
Our regular Ubuntu agents that are not arm64 have been upgraded successfully without issues.
Any ideas?
2 replies
Hello All, I am new to gocd and trying to CD fo kubernetes deployment. I have followed the gocd official doc but I am not able to achieve the goal. Can someone help me to create the pipeline for Kubernetes deployment.
Christian Dahlhausen
Hi all, Looking for the gocd-postgresql plugin to move from H2 to Psql
@cdahlhausen There is no plugin. Here's the guide: https://docs.gocd.org/current/installation/configuring_database/postgres.html I dropped in a postgresql JDBC driver, but I think that was unnecessary.
Have been using JSON for defining jobs, but started to use YAML so that I can converge towards a monorepo. My YAML job seems stuck "Waiting for an agent" Removing and re-adding an agent seems to get it going once, then it is stuck for the next build.

Hi there ... I wanna give gocd a try, but currently I can't manage to get version 21.2.0 docker to see the agent. I am using this 2 docker images: gocd/gocd-server:v21.2.0 and gocd/gocd-agent-debian-10:v21.2.0 on my local environment. I have started the agent docker image like this:

docker run -itd --name gocd-agent -e CI=true -e GO_SERVER_URL=https://$(docker inspect --format='{{(index (index .NetworkSettings.IPAddress))}}' gocd-server):8153/go gocd/gocd-agent-debian-10:v21.2.0

but unfortunately I can't see the agent in the agent view in the gocd ui. Is there a special way to run the agent docker image in order to see it in the gocd ui?


Hi all,
I'm trying to setup an auto registration remote agent on aws but I'm stuck due to the following error:

My current configuration:

  • [go-server] /etc/gocruise-config.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="139">
    <server agentAutoRegisterKey="195ea125-5d3a-4d33-8cc7-5c0e482cc0e7" webhookSecret="..." serverId="..." tokenGenerationKey="...">
  • [go-agent] /var/lib/go-agent/config/autoregister.properties

With these settings I'm getting the following error:

  • go-server (/var/log/go-server/go-server.log):

    2021-07-21 06:44:21,034 ERROR [qtp993070390-40] AgentRegistrationController:242 - Rejecting request for registration. Error: HttpCode=[422] Message=[Elastic agent registration requires an auto-register agent key to be setup on the server. The agentAutoRegisterKey: [195ea125-5d3a-4d33-8cc7-5c0e482cc0e7] is either not provided or expired. Agent-id: [7f5e55d20407], Plugin-id: [com.example.aws]] UUID=[bbbfd276-ce32-430f-81f5-69dbc3cea571] Hostname=[4255f57b7ca5]ElasticAgentID=[7f5e55d20407] PluginID=[com.example.aws]
  • go-agent (/var/log/go-agent/go-agent.log):

    2021-07-21 06:44:16,390 ERROR [scheduler-2] RemotingClient:166 - Server responded to action `ping` with: status[403 Forbidden], body[]
    2021-07-21 06:44:16,393 ERROR [scheduler-2] AgentHTTPClientController:114 - Error occurred when agent tried to ping server: 
    java.lang.RuntimeException: org.apache.http.client.ClientProtocolException: The server returned status code 403. Possible reasons include:
     - This agent has been deleted from the configuration
     - This agent is pending approval
     - There is possibly a reverse proxy (or load balancer) that has been misconfigured. See https://docs.gocd.org/21.2.0/installation/configure-reverse-proxy.html#agents-and-reverse-proxies for details.
          at com.thoughtworks.go.agent.RemotingClient.post(RemotingClient.java:118)
          at com.thoughtworks.go.agent.RemotingClient.ping(RemotingClient.java:74)
          at com.thoughtworks.go.agent.AgentHTTPClientController.ping(AgentHTTPClientController.java:109)
          at java.base/java.lang.Thread.run(Unknown Source)
    Caused by: org.apache.http.client.ClientProtocolException: The server returned status code 403. Possible reasons include:
     - This agent has been deleted from the configuration
     - This agent is pending approval
     - There is possibly a reverse proxy (or load balancer) that has been misconfigured. See https://docs.gocd.org/21.2.0/installation/configure-reverse-proxy.html#agents-and-reverse-proxies for details.
          at com.thoughtworks.go.agent.RemotingClient.validateResponse(RemotingClient.java:141)
          at com.thoughtworks.go.agent.RemotingClient.post(RemotingClient.java:114)
          ... 14 common frames omitted
    2021-07-21 06:44:21,043 ERROR [scheduler-1] SslInfrastructureService:173 - Error occurred during agent registration process: Elastic agent registration requires an auto-register agent key to be setup on the server. The agentAutoRegisterKey: [195ea125-5d3a-4d33-8cc7-5c0e482cc0e7] is either not provided or expired. Agent-id: [7f5e55d20407], Plugin-id: [com.example.aws]

Could anyone help me with this issue?