Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 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
haclong
@haclong
thing is, it is not a manual upgrade... i have done everything during the upgrade including the migration of the database
it has been working fine
i believe it was to upgrade to 20.08
since 20.08, all later upgrade was done automatically by aptitude
but somehow, the database is corrupted between 20.09 and 20.10
now, i don't know how to fix this
matrixbot
@matrixbot
@iinuwa:matrix.org Hello all! I'm wondering, has anyone has used GoCD with Podman containers as agents?
R.Rajalakshmi
@Rradharaji
Hi is there a way to skip a stage based on environmental variable ?? I know we can do in script level inside task .. but need to skip the whole stage using environmental variable
@here some one help on the above
R.Rajalakshmi
@Rradharaji
@anyone
marques-work
@marques-work

No, there is no such feature that allows skipping a stage. You’re better off restructuring your pipelines (maybe breaking up stages into separate pipelines).

If you could give more context maybe there is another approach to achieve your end goal?

R.Rajalakshmi
@Rradharaji
Actually we have multiple stages like dev uat and prod .. if environment search string is dev then it should skip other stages and run only dev stage
R.Rajalakshmi
@Rradharaji
@marques-work So we have only option to skip the commands inside a script based on if conditions of environmental variable but that is tedious we have like 6 scripts so for each script we cant do if and skip right .. so if there is a way to skip a stage based on environmental variable it would help
marques-work
@marques-work
As I said before there is no way to skip stages

But dev uat and prod seem like a linear progression. Why not model you build this way?

Build/test/package -> dev -> uat -> prod

You could model each of those as either stages or pipelines, and just pass the original artifact around? Unless I’m misunderstanding what you are doing?

FWIW I’m assuming dev, uat, and prod are deploy environments

marques-work
@marques-work
I’m also assuming you have a pipeline or stage beforehand that runs the tests and packages your code
R.Rajalakshmi
@Rradharaji
Ya thats right . Actually we have 1 pipleine with ( build , unit test , dev , uat b ) similarly 2nd pipeline with stages ( ready to deploy , uat , deploy ). .. now there is a requirement in automation to trigger only build ,dev and uat .. so we dont want to run other stages
Kleber Rocha
@klinux
There is any gcs artifact plugin?
marques-work
@marques-work

@Raji2420 if you model each as a pipeline you have the flexibility to do what you want. You’ll need to understand the concept of upstream pipelines.

Here’s some reading material on modeling pipelines this way:

  1. https://www.gocd.org/2017/04/17/build-propagation-using-fan-in-fan-out.html

  2. https://docs.gocd.org/current/advanced_usage/fan_in.html

  3. https://www.gocd.org/videos/go-fan-out-fan.html

@klinux I did a quick google search and didn’t find one. You could probably write your own referring to how the S3 artifact plugin works:

https://github.com/Diogomrol/gocd-s3-artifact-plugin

@klinux also see the plugin API for artifacts plugins: https://plugin-api.gocd.org/current/artifacts/
Kleber Rocha
@klinux
@marques-work thank you. I wrote keycloak authorization plugin, I will try to write for gcs too.
marques-work
@marques-work
👍🏼
zfjoy520
@zfjoy520
Hey, go cd
Anoop
@anoopl
Hi there, I am trying to install GoCD version 18.10.0 using Helm on Kubernetes, I am able to do this by either setting appversion to 18.10.0 on Charts.yaml or editing the image tag to v18.10.0 on values.yaml, but the gocd-server pod goes on crashLoopBack with this error:
11:22:00,203 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6d4b1c02 - Setting initial period to Tue Dec 15 11:22:00 GMT 2020
11:22:00,206 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FileAppender] - Active log file name: /go-server/logs/go-server.log
11:22:00,206 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FileAppender] - File property is set to [/go-server/logs/go-server.log]
11:22:00,207 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FileAppender] - Failed to create parent directories for [/go-server/logs/go-server.log]
11:22:00,208 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FileAppender] - openFile(/go-server/logs/go-server.log,true) call failed. java.io.FileNotFoundException: /go-server/logs/go-server.log (No such file o
r directory)
at java.io.FileNotFoundException: /go-server/logs/go-server.log (No such file or directory)
at at java.io.FileOutputStream.open0(Native Method)
at at java.io.FileOutputStream.open(FileOutputStream.java:270)
at at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26)
at at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:204)
at at ch.qos.logback.core.FileAppender.start(FileAppender.java:127)
at at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:100)
at at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
at at com.thoughtworks.go.logging.LogConfigurator.configureWith(LogConfigurator.java:109)
I can see that required persistent volume is mounted
any help on running an older version using Helm would be appreciated
ssanchez227
@ssanchez227
Hi all, I am evaluating GOCD as a possible replacement for Jenkins. Is there a way to have a list of options for an environment variable?
lynnxia517
@lynnxia517
I have a query, anyone can help me? the task can run the script, after complete it it will reply pass. How let gocd check the script's execution result then determine pass or failed?
Rasmus Hartvig
@rhartvig
@lynnxia517 , I'm new here but a suggestion: If I understand you correct, you want to conditionally pass or fail a task from a script. We do that by exiting the process with non-zero status codes. Ie, in nodejs process.exit(1) to signal task fail.
Rasmus Hartvig
@rhartvig
I have a best-practices question: We would like an agent to check artifacts on gocd server. We see GO_SERVER_URL and could pass a token to agent as env var, then use that to query server from agent - but is there a better way for an agent to communicate with gocd server? thanks in advance for your time.
The longer version of what we're doing:
We have an api which will upload artifacts to gocd. This is ofc only possible for a pipeline instance, so we first schedule the pipeline from the api, start an initial stage that just awaits completion of the upload. In this stage we'd like to wait for files to be uploaded by polling the gocd artifacts store, and only then complete the stage, automatically triggering next stage, which will fetch uploaded artifacts. thanks again.
marques-work
@marques-work
@lynnxia517 it’s more common to have your script return a nonzero process status instead of relying on text output. If the script exits with a nonzero status, then GoCD will automatically fail the task. If you can’t change your script for some reason, then what @rhartvig described will work too. But that’s an unconventional approach as opposed to the script itself returning a nonzero status on failure.
marques-work
@marques-work
@rhartvig if I understand correctly you are using the GO_SERVER_URL env to construct an API url to poll the artifact store authenticating with a personal access token? That sounds fine to me.
marques-work
@marques-work

@ssanchez227 not sure that I understand your question— are you asking if the value of an environment variable can be a list of things? If so, environment variables are always text values in any common operating system. If you are trying to model non-text structures through an environment variable you’ll have to serialize them to text. The same would be true for any build automation software, including Jenkins.

If that was not your question, then please clarify?

Rasmus Hartvig
@rhartvig
@marques-work , thanks for swift response, much appreciated!
marques-work
@marques-work
You’re welcome 👍🏼
Aditya M
@adityam01
Screen Shot 2020-12-17 at 8.05.49 PM.png
Hey there all + @marques-work , went through 30 minutes of struggle, and still not able to download ^
any thoughts?
marques-work
@marques-work
@adityam01 I haven’t looked at this script for a long time. But the error seems to indicate your wget installation didn’t install openssl. There isn’t a reason we need wget over curl in the script since curl can do everything wget can. Let me take a look and see if I can fix it. In the meantime, you could try reinstalling your wget package (guessing homebrew)?
Aditya M
@adityam01
awesome thanks. will try that
marques-work
@marques-work
You might need to reinstall openssl too since it reports it cannot find that dynamic library
Aditya M
@adityam01
working - thanks @marques-work
marques-work
@marques-work
@adityam01 actually, what should work better is to uninstall wget if you don’t need it. The script will fall back to curl if wget isn’t on the path
Meanwhile I’m removing that part of code altogether. We should just use curl only.
Aditya M
@adityam01
:thumbsup:
marques-work
@marques-work
@adityam01 Ok, I’ve published the fix to the website. It should no longer try to use wget even if it’s on your path. LMK if you run into any more issues
lynnxia517
@lynnxia517
@rhartvig @marques-work understood. Thanks a lot.