Use CircleCI version 2.1 at the top of your .circleci/config.yml file.
1
version: 2.1
Add the orbs
stanza below your version, invoking the orb:
1
2
orbs:
waypoint: circleci/waypoint@1.0.0
Use waypoint
elements in your existing workflows and jobs.
A basic workflow to deploy your project using waypoint.
1
2
3
4
5
6
7
version: '2.1'
orbs:
waypoint: circleci/waypoint@x.y
workflows:
deploy_using_waypoint:
jobs:
- waypoint/deploy
A workflow to deploy your project using waypoint, with setup steps.
1
2
3
4
5
6
7
8
9
10
version: '2.1'
orbs:
waypoint: circleci/waypoint@x.y
workflows:
deploy_using_waypoint:
jobs:
- waypoint/deploy:
setup:
- run: wget https://example.com/some-deploy-script.sh
- run: ./some-deploy-script.sh
Simple job to automatically deploy your application using Waypoint.
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
image | Docker image in which this job should execute. | No | cimg/base:2020.11 | string |
setup | Steps to take before initializing Waypoint and deploying the site. | No | [] | steps |
workspace | Workspace to work in for this deployment.
| No | '' | string |
Destroy a Waypoint project
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
workspace | Workspace to work in for this deployment.
| No | '' | string |
Install and initialize Waypoint
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
version | Version of the waypoint binary to download | No | 0.1.4 | string |
workspace | Workspace to work in for this deployment.
| No | '' | string |
Build, deploy and release your project.
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
bundle_steps | Run all steps individually, or all together (using "up"), bundling together the output.
| No | false | boolean |
workspace | Workspace to work in for this deployment.
| No | '' | string |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# This code is licensed from CircleCI to the user under the MIT license.
# See here for details: https://circleci.com/developer/orbs/licensing
version: 2.1
description: |
Utilize Hashicorp's Waypoint within your CircleCI jobs!
display:
home_url: https://www.waypointproject.io
source_url: https://github.com/CircleCI-Public/waypoint-orb
commands:
destroy:
description: Destroy a Waypoint project
parameters:
workspace:
default: ""
description: |
Workspace to work in for this deployment.
type: string
steps:
- run:
command: waypoint destroy <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Destroy Waypoint app
init:
description: Install and initialize Waypoint
parameters:
version:
default: 0.1.4
description: Version of the waypoint binary to download
type: string
workspace:
default: ""
description: |
Workspace to work in for this deployment.
type: string
steps:
- setup_remote_docker
- run:
command: |
curl https://releases.hashicorp.com/waypoint/<<parameters.version>>/waypoint_<<parameters.version>>_linux_amd64.zip --output /tmp/waypoint.zip
sudo unzip -d /usr/local/bin /tmp/waypoint.zip
rm -rf /tmp/waypoint.zip
name: Install Waypoint
- run:
command: waypoint init <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Initialize Waypoint
up:
description: Build, deploy and release your project.
parameters:
bundle_steps:
default: false
description: |
Run all steps individually, or all together (using "up"), bundling together the output.
type: boolean
workspace:
default: ""
description: |
Workspace to work in for this deployment.
type: string
steps:
- when:
condition: <<parameters.bundle_steps>>
steps:
- run:
command: waypoint up <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Waypoint up
- unless:
condition: <<parameters.bundle_steps>>
steps:
- run:
command: waypoint build <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Waypoint build
- run:
command: waypoint deploy <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Waypoint deploy
- run:
command: waypoint release <<#parameters.workspace>>-workspace <<parameters.workspace>><</parameters.workspace>>
name: Waypoint release
jobs:
deploy:
description: |
Simple job to automatically deploy your application using Waypoint.
docker:
- image: <<parameters.image>>
parameters:
image:
default: cimg/base:2020.11
description: Docker image in which this job should execute.
type: string
setup:
default: []
description: Steps to take before initializing Waypoint and deploying the site.
type: steps
workspace:
default: ""
description: |
Workspace to work in for this deployment.
type: string
steps:
- checkout
- steps: << parameters.setup >>
- init:
workspace: <<parameters.workspace>>
- up:
workspace: <<parameters.workspace>>
examples:
basic_deploy:
description: |
A basic workflow to deploy your project using waypoint.
usage:
version: "2.1"
orbs:
waypoint: circleci/waypoint@x.y
workflows:
deploy_using_waypoint:
jobs:
- waypoint/deploy
deploy_with_setup:
description: |
A workflow to deploy your project using waypoint, with setup steps.
usage:
version: "2.1"
orbs:
waypoint: circleci/waypoint@x.y
workflows:
deploy_using_waypoint:
jobs:
- waypoint/deploy:
setup:
- run: wget https://example.com/some-deploy-script.sh
- run: ./some-deploy-script.sh