Mikael Kalms Posted August 4, 2021 Report Share Posted August 4, 2021 Hi, I'm setting up a Jenkins build system. Both Linux and Windows agents are involved. I run all this within Docker containers. For Linux, I install the `plasticscm-client-core` package (so only a client - no server). It _seems_ to work well for checkout & incremental updates - except for one odd thing: In order to do `cm workspace create`, the client.conf/WorkspaceServer setting needs to point to a valid server [for example, pointing to a cloud org works well]. If I don't do this, then workspace creation succeeds, but the `cm workspace create` command itself errors ("Connection refused", nonzero exit code). Subsequent Jenkins commands (`cm update` etc) work just fine though. I don't know whether `cm` is intended to operate fine in such a "client-only" configuration (no local server). Is that the case? If so, you may want to investigate why the WorkspaceServer setting is important to `cm` when creating a workspace. (Side note: for Windows containers, I am currently running the whole cloud edition installer, and configure a local server etc within the container there. I hope to move to a client-only configuration there as well, sometime in the future.) Mikael Link to comment Share on other sites More sharing options...
Rafael Posted August 5, 2021 Report Share Posted August 5, 2021 Hi Mikael, What linux distribution are you using? Can you share with me the cm workspace create command you are using? Do you specify the repository@server in the command like the following? cm workspace create quakewk quake_path --repository=quake@localhost:6060 Regards, Rafael Link to comment Share on other sites More sharing options...
Mikael Kalms Posted August 6, 2021 Author Report Share Posted August 6, 2021 I have seen this problem both on Ubuntu 20.04 (when run in WSL2), and on Debian Buster (when run within a Docker container). I have been using cm version 10.0.16.5816 throughout all testing. Here is the install script that the Docker container used: https://github.com/falldamagestudio/UE-Jenkins-Images/blob/aa13570e86edb7f31258f35c545b5475144cd457/ue-jenkins-agents/linux/ue-jenkins-ssh-agent/Dockerfile#L20-L25 And here is the (templated) client.conf used: https://github.com/falldamagestudio/UE-Jenkins-BuildSystem/blob/895eb9b2dfbb36772e17328a0cbf50c6e98abcd2/application/plastic/client.conf.template ------------------------------------------------------------------------------------------------------------------ When I reproduce this locally in Ubuntu 20.04, I notice that, with <WorkspaceServer>local</WorkspaceServer> in client.conf, a 'create workspace' command like this fails: $ cm workspace create test1234 test1234 --repository=UE-Jenkins-Game@ue_jenkins_buildsystem@cloud Error: Connection refused ... but, with <WorkspaceServer>ue_jenkins_buildsystem@cloud</WorkspaceServer> in client.conf, it works just fine: $ cm workspace create test1234 test1234 --repository=UE-Jenkins-Game@ue_jenkins_buildsystem@cloud Workspace test1234 has been correctly created --------------------------------------------------------------------------------------------------------- From the above, I think that the repro steps are: 1) Install plasticscm-client-core only, not any of the full client+server packages 2) Create a client.conf that does not point WorkspaceServer to any existing server, and cryptedservers.conf + *.key in case you intend to talk to a server with content encryption on 3) try to create a workspace for a remote repository. This will fail with 'connection refused' ---------------------------------------------------------------------------------------------------------- The same thing can be simulated on a Windows machine with a full install. Just stop the "Plastic SCM Server" service. Then try to create a workspace: PS C:\x> cm workspace create test1234 test1234 --repository=UE-Jenkins-Game@ue_jenkins_buildsystem@cloud Error: No connection could be made because the target machine actively refused it 127.0.0.1:8084 ... but, the workspace folder appears on disk, and it's perfectly possible to enter the folder and perform a 'cm update' to fetch the repo contents. Link to comment Share on other sites More sharing options...
Mikael Kalms Posted August 26, 2021 Author Report Share Posted August 26, 2021 Side note: it might be possible to simulate this just by stopping the local Plastic server in a regular installation, ensuring that WorkspaceServer in client.conf points to the local server, and then attempt a 'cm workspace create' like above. Link to comment Share on other sites More sharing options...
Rafael Posted September 17, 2021 Report Share Posted September 17, 2021 Hi Mikael, Sorry for the late response. I can reproduce the behaviour you previously described. The error that appears do not compromise the functionality of the command, right? Is this message blocking you in some way? I will comment this with the dev Team, it should be a quick fix. Regards, Rafael. PlasticSCM Support Team Link to comment Share on other sites More sharing options...
Mikael Kalms Posted September 17, 2021 Author Report Share Posted September 17, 2021 This does not block us. It used to make clean builds in Jenkins fail, until we found that adjusting client.conf appropriately made the error go away. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now