You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-5Lines changed: 34 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,17 +12,46 @@ This sample project provides a starting point for anyone looking to create a new
12
12
The directory structure of a step package project is shown below:
13
13
14
14
*`\`
15
-
*`steps`
16
-
*`<step-name>`
17
-
*`src`
15
+
*`steps` - A directory containing the step definitions.
16
+
*`<step-name>` - A directory containing the definition of a step. There may be many of these directories to define many steps within a single step package.
17
+
*`src` - The directory containing the step source and configuration.
18
+
*`__tests__` - The directory containing step tests.
19
+
*`executor.spec.ts` - Tests validating the logic in the `executor.ts` file.
20
+
*`executor.ts` - The code to be executed when a step is run by Octopus.
21
+
*`inputs.ts` - The definition of the inputs required by the step.
22
+
*`logo.svg` - The image to be displayed in the Octopus web UI for the step.
23
+
*`metadata.json` - The step metadata.
24
+
*`ui.ts` - The step UI definition.
25
+
*`validation.ts` - The step validation rules.
18
26
*`targets`
19
27
*`<target-name>`
20
28
*`src`
29
+
*`__tests__` - The directory containing step tests.
30
+
*`executor.spec.ts` - Tests validating the logic in the `executor.ts` file.
31
+
*`executor.ts` - The code to be executed when a target healthcheck is run by Octopus.
32
+
*`inputs.ts` - The definition of the inputs required by the target.
33
+
*`logo.svg` - The image to be displayed in the Octopus web UI for the target.
34
+
*`metadata.json` - The target metadata.
35
+
*`ui.ts` - The target UI definition.
36
+
*`validation.ts` - The target validation rules.
21
37
*`.eslintignore` - The [ESLint ignore file](https://eslint.org/docs/user-guide/configuring/ignoring-code#the-eslintignore-file).
22
38
*`.eslintrc.js` - The [ESLint configuration file](https://eslint.org/docs/user-guide/configuring/).
23
39
*`.gitignore` - The [git ignore file](https://git-scm.com/docs/gitignore).
24
40
*`.prettierrc` - The [prettier configuration file](https://prettier.io/docs/en/configuration.html).
25
41
*`global.d.ts` - The [TypeScript global libraries](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-d-ts.html).
26
42
*`package.json` - The [Node.js project file](https://nodejs.org/en/knowledge/getting-started/npm/what-is-the-file-package-json/).
27
-
*`package-lock.json` - The specific package versions to be retrieved by npm.
28
-
*`tsconfig.json` - The [TypeScript compiler options file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).
43
+
*`package-lock.json` - The [specific package versions](https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json) to be retrieved by npm.
44
+
*`tsconfig.json` - The [TypeScript compiler options file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).
45
+
46
+
## Creating a new step
47
+
48
+
Creating a new step involves creating the following files under the `steps/<step-name>/src` directory. In the case of this sample step package, we'll create them under `steps/hello-world/src`:
0 commit comments