You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
At our company, there are sometimes glitches when uploading artifacts from a self-hosted ADOS agent to artifactory. While the name resolution works, there might be a temporary link failure. When using the generic artifact upload task, I am possible to set the number of retries, but not the wait duration between these steps. So it defaults to 0s.
If I read the documentation correctly, this option is not available for all commands and cannot be set via an environmental variable.
Hence, after three retries with a timing duration of 0s, the upload fails.
As we found out, the upload might be successful if repeated within a time-period of 5 to 40 seconds. So it would be good for us, to set the retry wait time of 5s with a retry count of 12.
Describe the solution you'd like to see
It would be good to be able to add a list of arbitrary commands as list of strings like this:
The resulting command line arguments should be prepended to the generated list of CLI arguments, as the go flags package overwrites the first item with the later item. (I am not sure, how the cli context solves this issue).
This way, missing parameters can be added to the jfrog cli without having the urge to add a parameter to the task library, that might not apply to all commands.
If a command is not present in all versions of the cli, a min version could also be specified.
The task could then check the version check the minimum version before the task is executed and fail, if the CLI version is not fulfilled. The default value could be latest, so the check could be skipped.
Describe alternatives you've considered
Just add the missing parameter to the task library. This might actually solve the issue for us, but will require more involvment, if the next step is missing.
Make all parameters in the jfrog cli accessible via env parameters. This way, the value could be specified via the generic environment variables of the job or agent.
Additional context
Log file from the build.
´´´
Executing JFrog CLI Command: /opt/microsoft/vsts-agent/_build/_work/_tool/_jfrog/current/jfrog rt u --url="https://jfrog-instance.company/artifactory" [...] --retries=3 [...]
09:07:21 [Info] [Thread 0] Uploading artifact: [...]/company_executable_2.1.0.123456_jammy_amd64.deb
09:08:01 [Warn] [Thread 0] (Attempt 1) - Failure occurred while uploading to [...]: Put [...]": write tcp 10.redacted:47352->10. redacted:443: write: connection reset by peer
09:08:01 [Warn] [Thread 0] (Attempt 2) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Warn] [Thread 0] (Attempt 3) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Warn] [Thread 0] (Attempt 4) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Info] [Thread 0] executor timeout after 3 attempts with 0 milliseconds wait intervals
09:08:01 [Error] Failed uploading 1 artifacts.
´´´
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
At our company, there are sometimes glitches when uploading artifacts from a self-hosted ADOS agent to artifactory. While the name resolution works, there might be a temporary link failure. When using the generic artifact upload task, I am possible to set the number of retries, but not the wait duration between these steps. So it defaults to 0s.
If I read the documentation correctly, this option is not available for all commands and cannot be set via an environmental variable.
Hence, after three retries with a timing duration of 0s, the upload fails.
As we found out, the upload might be successful if repeated within a time-period of 5 to 40 seconds. So it would be good for us, to set the retry wait time of 5s with a retry count of 12.
Describe the solution you'd like to see
It would be good to be able to add a list of arbitrary commands as list of strings like this:
The resulting command line arguments should be prepended to the generated list of CLI arguments, as the go flags package overwrites the first item with the later item. (I am not sure, how the cli context solves this issue).
This way, missing parameters can be added to the jfrog cli without having the urge to add a parameter to the task library, that might not apply to all commands.
If a command is not present in all versions of the cli, a min version could also be specified.
The task could then check the version check the minimum version before the task is executed and fail, if the CLI version is not fulfilled. The default value could be latest, so the check could be skipped.
Describe alternatives you've considered
Additional context
Log file from the build.
´´´
Executing JFrog CLI Command: /opt/microsoft/vsts-agent/_build/_work/_tool/_jfrog/current/jfrog rt u --url="https://jfrog-instance.company/artifactory" [...] --retries=3 [...]
09:07:21 [Info] [Thread 0] Uploading artifact: [...]/company_executable_2.1.0.123456_jammy_amd64.deb
09:08:01 [Warn] [Thread 0] (Attempt 1) - Failure occurred while uploading to [...]: Put [...]": write tcp 10.redacted:47352->10. redacted:443: write: connection reset by peer
09:08:01 [Warn] [Thread 0] (Attempt 2) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Warn] [Thread 0] (Attempt 3) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Warn] [Thread 0] (Attempt 4) - Failure occurred while uploading to [...]: Put [...]: dial tcp 10.redacted:443: connect: connection refused
09:08:01 [Info] [Thread 0] executor timeout after 3 attempts with 0 milliseconds wait intervals
09:08:01 [Error] Failed uploading 1 artifacts.
´´´
The text was updated successfully, but these errors were encountered: