Why ?

The pipeline engine used in Cycloid Devops Platform is composed of 2 components:

  • Scheduler : Server side on which workers are connected. It schedules pipeline jobs and spreads tasks on your workers.
  • Workers : Controlled by the scheduler to run the jobs of your pipelines.

There are severals ways to deploy your own workers, it can differ a bit if you subscribe to Cycloid Devops Platform:

  • Dedicated: AWS
  • Dedicated: Onprem
  • SaaS

All methods rely on the source code of the public stack-external-worker.

If you subscribed to Cycloid Devops Platform in the SaaS version, the current easiest way to deploy your own workers on AWS is the CloudFormation way.

Deploy Cycloid worker on AWS with CloudFormation

As described above, the CloudFormation deployment is based on a template located under our stack-external-worker git repository.

The CloudFormation stack will create an AWS autoscaling group with EC2 Cycloid workers. The default values are already pre-filled to deploy and connect workers on our public SaaS, then you will be able to modify them according to your needs.

cloudformation-stack

Follow these steps to create a CloudFormation stack:

  1. Connect on http://console.cycloid.io.
  2. Click on your Organization name within the top shortcut links <Organization name> / Dashboard.
  3. Go into the CI/CD workers tab.
  4. Select the region in which you want to deploy the workers.
  5. Click on the button Launch CloudFormation Stack. It will redirect you to Amazon Console. (See comments at the end of the page)
  6. Configure the CloudFormation stack to match your AWS configuration:
    • KeyName : The EC2 Key Pair to allow SSH access to the instances.
    • MaxNumberOfWorkers : Maximum number of Cycloid workers.
    • SSHLocationSecGroup : Instances from this security group will be allowed to connect using SSH on Cycloid workers.
    • VpcId : VpcId of your existing Virtual Private Cloud (VPC).
    • Subnets : The list of SubnetIds in your Virtual Private Cloud (VPC).
  7. Click on I acknowledge that AWS CloudFormation might create IAM resources. as the stack will create an IAM role for the workers.
  8. Click on Create button to create the stack.

After the deployment of the CloudFormation stack, get back on the CI/CD workers tab in Cycloid dashboard. It will display all your connected workers and their status:

worker-status

Note: Sometimes, CloudFormation returns an error 400 (Bad Request), we are aware about of this and we are working with AWS to help them to fix it. Meanwhile, there are two options to solve it::

  • Once you clicked on the button Launch CloudFormation Stack and have realized that you have a blank page or similar, you can copy the url and paste it in a new tab, then you will be redirected to the correct page.
  • Go to CloudFormation home page, then click back on Launch CloudFormation Stack button and it will work as expected.