This repository was archived by the owner on Sep 2, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 33
Quick_Start
Kyle T edited this page Sep 1, 2022
·
4 revisions
This is a Node.js module available through the npm registry.
Using npm:
$ npm i --save @circleci/circleci-config-sdkIn Node.js:
import CircleCI from "@circleci/circleci-config-sdk";In Browser:
var CircleCI = require("@circleci/circleci-config-sdk");This example generates a config.yml file when ran.
const CircleCI = require("@circleci/circleci-config-sdk");
const fs = require("fs");
// Instantiate new Config
const myConfig = new CircleCI.Config();
// Create new Workflow
const myWorkflow = new CircleCI.Workflow("myWorkflow");
myConfig.addWorkflow(myWorkflow);
// Create an executor. Reusable.
const nodeExecutor = new CircleCI.executors.DockerExecutor(
"cimg/node:lts"
);
myConfig.addExecutor(nodeExecutor);
// Create Job
const nodeTestJob = new CircleCI.Job("node-test", nodeExecutor);
myConfig.addJob(nodeTestJob);
// Add steps to job
nodeTestJob
.addStep(
new CircleCI.Command.Run({
command: "npm install",
name: "NPM Install",
})
)
.addStep(
new CircleCI.Command.Run({
command: "npm run test",
name: "Run tests",
})
);
// Add Jobs to Workflow
myWorkflow.addJob(nodeTestJob);
// The `stringify()` function on
// `CircleCI.Config` will return
// the CircleCI YAML equivalent.
const MyYamlConfig = myConfig.stringify();
// Writing the generated config to a file
fs.writeFile("./config.yml", MyYamlConfig, (err) => {
if (err) {
console.log(err);
return;
}
});