Overview

The AWS runner is in the Release Candidate phase.
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: vm
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: vm
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: vm

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.

If the runner has DRONE_ENABLE_AUTO_POOL set to true then the pool will be automatically configured, based on matching Platform attributes in the pipeline and the pool.yml file.

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 .