docker and azure devops build agents

Posted by: uwe.seiler on 21 June 2020, 9:50 pm EST

  • Posted 21 June 2020, 9:50 pm EST

    Hello everyone,

    we use ComponentOne (WPF) in our software for many years. Currently we have sufficient licenses for each developer and for our Azure DevOps Build Agents. In the future we plan to switch to multiple agents based on docker.
    We have a background question about this:
    When will the license be used? At build time or at runtime? Is it possible to license a software afterwards? So when the build agent has produced an artifact. Can the license be applied afterwards?

    Build Agents as docker containers can be started and stopped at will. Do I have to activate the container license at each start and deactivate it at each termination?

    How much experience do you and your customers have with Build Agents under docker?
  • Replied 22 June 2020, 11:00 pm EST

    Hello,

    I am discussing the questions you raised, with the concerned developer and will soon get back to you with information for each.

    Regards,
    Ruchir
  • Replied 13 July 2020, 11:33 pm EST

    Hello,

    >1. When will the license be used? At build time or at runtime?
    WPF 4.0/4.5.2 license is used in both build time and runtime. If license is expired, build will fail. If an application is complied successfully, at runtime license logic will check if license is expired.

    >2. Is it possible to license a software afterwards? So, when the build agent has produced an artifact can the license be applied afterwards?
    One approach is to follow the steps as mentioned in: https://www.grapecity.com/spreadnet/docs/v13/online-win/spwin-buildlicense.html.

    >3. Does he have to activate the container license at each start and deactivate it at each termination?
    Yes, since the license has limited number of activations. So, it's best to activate at the start and deactivate at the end.

    Regards,
    Ruchir
  • Marked as Answer

    Replied 7 March 2021, 10:12 pm EST

    Thank you very much for the information.

    In the meantime I found the following links on your website:
    https://www.grapecity.com/componentone/docs/license/online-license/licensing-by-command-line.html
    https://www.grapecity.com/componentone/docs/license/online-license/licensing-aspnet-apps-on-docker.html

    They describe pretty well the use case "Build Agent under Docker with C1 components".
  • Replied 7 March 2021, 10:32 pm EST

    Hi,

    I happy to hear that you got the solution and thank you for sharing the links here.

    Best Regards
  • Replied 24 March 2021, 11:09 pm EST

    Unfortunately, I still have a demand:

    I have now created a small tool, which activates the C1 license before the build of my main project and deactivates it after the build. This works very well in the Azue YAML pipeline.

    However, I would have to do this process on every build (CI, Schedule, Manual, PullRequest). We are currently doing around 50 builds per day via Azure Pipeline.
    However, in the URL mentioned above it is written that: "By default, there is a limit of nine (9) activations/deactivations per 24 hour period. "

    9 attempts is not really a viable number.

    Is there any way to turn off the license check on a CI and PullRequest build? These build types do not generate artifacts that are published.

    What other alternatives are there?
  • Replied 25 March 2021, 7:52 pm EST

    Hi,

    We are discussing this with the concerned team and will let you know once there is update regarding the same. (Internal Tracking Id - C1-3058)

    Regards,
    Kartik
  • Replied 20 April 2021, 5:36 am EST

    Hello uwe.seiler,

    Could you please give me some hints on how to make the dockerfile right?
    I used the documentation link here: https://www.grapecity.com/componentone/docs/license/online-license/licensing-aspnet-apps-on-docker.html but I keep getting this error: /bin/sh: 1: gclm: not found. I'm new to devops, and could need some help.

    Thanks
    Best regards,
    Nikolas
  • Replied 20 April 2021, 4:24 pm EST

    Hi Nikolas,

    Could you please share the docker file with us?

    Best Regards,
    Kartik
  • Replied 20 April 2021, 4:58 pm EST

    Hi Kartik,

    Yes, here u go, thanks.



    Best regards,
    Nikolas
  • Replied 20 April 2021, 6:24 pm EST

    Hello nzd,

    I do not explicitly install the license tool ("gclm") via the dockerfile.

    In my C# project, C1-NuGet packages (v4.5.20203.730) are directly referenced. These include a "*.targets" file that handle the optional download and installation of the license tool and licensing at build time.

    I have not had a case like you have.
  • Replied 20 April 2021, 8:21 pm EST

    Hello uwe.seiler,

    Thanks for the response.
    I then hope that Kartik can give me some help.

    Regards,
    Nikolas
  • Replied 22 April 2021, 12:44 am EST

    Hi Nikolas,

    Thank you for sharing the snapshot.

    As I can observe there is no 'ENV PATH' set in your docker file. So, you need to add the 'ENV PATH' (to include dotnet tools) after the 'dotnet tool install' command as follows:

    I hope it helped.

    Best Regards,
    Kartik
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels