GoCD Elastic Agents

    Developers can start building their own elastic-agent plugins by forking the skeleton plugin and looking at a sample , docker swarm plugin as an example reference implementation.

    A feature like this can allow for more efficient use of agent machines, can allow flexible scaling and in many cases, can reduce the cost of running agents. Imagine an automated performance test which runs occasionally and needs a lot of machines. These machines can be started at the beginning of the performance test, possibly using some cloud service, and then brought down when not needed. This feature should enable a more flexible and dynamic build grid.

    Once the plugin is downloaded and installed, make sure to:

    1. Configure a cluster profile (Admin > Elastic Profiles).
    2. Configure an elastic agent profile (Admin > Elastic Profiles).

    There are a few basic concepts to understand the elastic agent plugins in GoCD:

    In most cases, a single GoCD instance is being utilized by multiple teams. Each team can have their own build environments e.g. development, staging, production. Earlier, with , GoCD could only support one environment at a time. Now teams can leverage their own build environment by utilizing cluster profiles.

    Elastic Agent Profile

    An elastic agent profile usually contains the configuration for your agent. Depending on the plugin used, this may contain the machine image (ami, docker image), size of the CPU/memory/disk, network settings among other things.

    Elastic Agents - 图2