Overview

The AWS runner is in Alpha and may not be suitable for production workloads.
Please note AWS pipelines are disabled on Drone Cloud. This feature is only available when self-hosting

An aws pipeline is executed on a dedicated, remote EC2 instance. The EC2 instance is created when the pipeline starts and terminated upon completion. This is useful for workloads that need to run inside a dedicated virtual machine.

Example pipeline configuration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
---
kind: pipeline
type: aws
name: default

pool:
  use: ubuntu-20.04

steps:
- name: test
  image: golang:1.12
  commands:
  - go test

- name: build
  commands:
  - docker build .
...

Windows support

AWS pipelines support windows EC2 instances as a first class citizen. Syntactically they do not differ to non Windows pipelines, but the underlying infrastructure is different.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
---
kind: pipeline
type: aws
name: default

pool:
  use: windows-2019

steps:
- name: check install
  commands:
  - type C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
...

Kind and Type

The kind and type attributes define an aws pipeline.

1
2
3
---
kind: pipeline
type: aws

Pool

The pool attribute specifies the type of machine the pipeline should run on. Please contact your system administrator for a list of machine types that are supported by your installation.

5
6
pool:
  use: ubuntu-20.04

For more information about configuring pools of machines please consult the Pool file documentation.

Steps

The steps section defines a series of shell commands. If any command returns a non-zero exit code, the pipeline fails and exits. Pipeline steps can execute inside containers as the container Entrypoint:

 5
 6
 7
 8
 9
10
11
12
13
steps:
- name: test
  image: golang:1.12
  commands:
  - go test

- name: build
  commands:
  - docker build .

Or pipeline steps can execute directly on the host machine:

 5
 6
 7
 8
 9
10
11
12
13
steps:
- name: test
  image: golang:1.12
  commands:
  - go test

- name: build
  commands:
  - docker build .