This repository has been archived by the owner on Aug 9, 2021. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
example.capsule.yml
205 lines (163 loc) · 7.58 KB
/
example.capsule.yml
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
---
# This file is a comprehensive list of all configuration options available in CapsuleCD
# All keys are optional. Defaults are included where applicable.
###############################################################################
#
# SCM Configuration
#
###############################################################################
# Specifies the location where the git repo will be cloned, defaults to tmp directory
scm_git_parent_path: '' # eg. /my/custom/path/here
# Specifies the Github api endpoint to use (for use with Enterprise Github)
# should always be specified with a trailing slash.
scm_github_api_endpoint: ''
# Specifies the access token to use when cloning from and committing to Github
scm_github_access_token: ''
# Specifies the type of access token to be used. Can be `user` or `app`.
scm_github_access_token_type: 'user'
scm_bitbucket_username: ''
# Specifies the app password to use when cloning from and committing to Bitbucket
scm_bitbucket_password: ''
# specifies the oauth access token to use (requires scm_bitbucket_username as well)
scm_bitbucket_access_token: ''
# Specifies the repo pull request number to clone from Github
scm_pull_request: '' # eg. '32'
# Specifies the repo name to clone from Github or other SCM
scm_repo_full_name: '' # eg. AnalogJ/capsulecd
# Specifies build artifacts that should be uploaded to SCM release
# Array of objects.
#
# scm_release_assets:
# - local_path: 'build/work/capsule.tar.gz' # this path is relative to checkout workspace
# artifact_name: 'capsulecd-linux.tar.gz' # this is the name of the file in the Github Release.
scm_release_assets: []
# CapsuleCD will generate a changelog containing commits from the `nearest` git
# tag to the HEAD of the PR or specified Branch. If you only want to see commits
# from the PR, you can enable this option.
scm_disable_nearest_tag_changelog: false
# Enable deletion of PR branch (as long as its not master/default) after successful
# Completion of CapsuleCD pipeline
scm_enable_branch_cleanup: false
# Specifies the source of commit status update(s).
scm_notify_source: 'CapsuleCD'
# Specifies a url that can be used to provide context when commit status messages are sent to SCM
scm_notify_target_url: 'https://github.com/AnalogJ/capsulecd'
###############################################################################
#
# Engine Base Configuration
#
###############################################################################
# Specifies the Semvar segment (major, minor, patch) to bump before releasing package
engine_version_bump_type: 'patch'
# Specifies the git commit message for
engine_version_bump_msg: 'Automated packaging of release by CapsuleCD'
# Specifies the path to the metadata file containing the version info.
# Only applies to engines where version metadata location is not standardized.
engine_version_metadata_path: ''
# Specifies the command to compile source into binary
engine_cmd_compile: '' #eg. 'go build $(go list ./cmd/...)'
engine_disable_compile: false
# Specifies the linter command to validate source
engine_cmd_lint: '' # eg. 'gometalinter.v2 --errors --vendor --deadline=3m ./...'
engine_disable_lint: false
# Specifies the test command to validate source
engine_cmd_test: '' # eg. 'go test $(glide novendor)'
engine_disable_test: false
# Specifies the source modifying auto-correcting command that fix/reformat source
# NOTE: only runs if `engine_enable_code_mutation` is true.
engine_cmd_fmt: '' # eg. 'go fmt $(go list ./... | grep -v /vendor/)'
engine_enable_code_mutation: false
# Specifies the command to check for vulnerabilities in dependencies.
engine_cmd_security_check: ''
engine_disable_security_check: false
# Specifies if you would like to leave the checkout directory intact after CapsuleCD completes.
# By default CapsuleCD will delete the temporary checkout directory. Useful for debugging.
engine_disable_cleanup: false
# The following options let you disable publish and dist steps. Useful for debugging.
mgr_disable_dist: false
scm_disable_publish: false
scm_disable_cleanup: false
# Specifies the git author information when creating commits and tags.
engine_git_author_email: '[email protected]'
engine_git_author_name: 'CapsuleCD'
# Specifies the path to the repo config file, relative to the project root
engine_repo_config_path: 'capsule.yml'
###############################################################################
#
# Engine Custom Configuration
#
###############################################################################
# Golang Engine specific options
# specify a custom golang package path. ie. if your package path is github.com/analogj/capsulecd then it needs to be
# stored in $GOPATH/src/github.com/analogj/capsulecd for dep and glide to work correctly
engine_golang_package_path: '' # default is {scm}/{scm_repo_full_name}
###############################################################################
#
# Engine Hooks Configuration
#
###############################################################################
# Hooks all have the same format, allowing you to run shell commands before and
# after CapulseCD steps. Hook commands always run with the same environmental
# variables as CapsuleCD, and start with the working directory of the checked out
# source code.
#
# The format is as follows:
#
# <step_name>:
# <hook name ("pre", "post" or "override">:
# - <list of shell commands>
# - <list of shell commands>
#
# dependencies_step:
# post:
# - mkdir -p vendor/gopkg.in/libgit2/git2go.v25/vendor/libgit2/build/
compile_step:
pre: []
post: []
override: []
# The steps run in the following order:
# - pipeline_init_step
# - scm_retrieve_payload_step
# - scm_checkout_pull_request_step or scm_checkout_push_payload_step
# - assemble_step
# - mgr_dependencies_step
# - compile_step
# - test_step
# - package_step
# - mgr_dist_step
# - scm_publish_step
# - scm_cleanup_step
###############################################################################
#
# Package Manager Configuration
#
###############################################################################
# Specify the package manager you would like to use.
# Certain languages have multiple popular package managers, ie. Npm and Yarn for Node, Glide & Dep for Golang, etc.
# If you do not specify a type, CapsuleCD will attempt to detect the package manager to use by looking at the repo filesystem,
# or default to a specific package manager if it cannot detect one to use.
mgr_type: ''
# The following options let you disable dist step. Useful for debugging.
mgr_disable_dist: false
# Lock files are sometimes generated by Dependency managers (Gemfile.lock, package-lock.json, etc).
# While applications may want to commit this lock file, libraries most often do not. You can override
# the default below.
mgr_keep_lock_file: false
# Specifies the Chef Supermarket credentials to use when creating public release for Chef cookbook
# found in ~/.chef/knife.rb and ~/.chef/<username>.pem
# `chef_supermarket_key` should be the Base64 encoded content of the <username>.pem
# `cat ~/.chef/<username>.pem | base64`
chef_supermarket_username: ''
chef_supermarket_key: ''
chef_supermarket_type: 'Other'
# Specifies the NPM auth to use when creating public release for NPM package
# found in ~/.npmrc on developer machine
npm_auth_token: ''
# Specifies the PYPI credentials to use when creating public release for Pypi package
# found in ~/.pypirc on developer machine
pypi_repository: 'https://upload.pypi.org/legacy/'
pypi_username: ''
pypi_password: ''
# Specifies the Rubygems auth to use when creating public release for Gem package
# found in ~/.gem/credentials on developer machine
rubygems_api_key: ''