When you run the client as part of you CI/CD pipeline everything hopefully will be automated, and for that reason you want the client to work without the need of user intervention. You can achieve that using the non-interactive mode of the client that you can activate specifying the command line --interactive=false argument.
In non-interactive mode the client will assume it's already authorized (see the details in the following section) and will fail if such authorization is missing. You will be able to control the exit code of the client using specific arguments, so that you can quickly block your pipeline if the libraries are not up to your required standards.
In case you decide to do so, you can split the client work in two phases: the first one will just kick the analysis, returning the control to the calling shell so that you can run your build in parallel. At the end you can run the client again: it will collect the results from the server and report back accordingly