Using Steampipe in CircleCI
CircleCI provides a hosted environment in which you can build, test, and deploy software. It integrates with services such as GitHub, GitLab and Bitbucket to listen to events that trigger pipelines or consume source code. Here we integrate a GitLab project with CircleCI to install Steampipe, then install a plugin and run a query.
Installing Steampipe in CircleCI
To run scripts, first connect your GitLab repository to CircleCI and create a config.yml
file that contains the definitions of the Pipeline. Here's an example that installs Steampipe.
version: 2.1jobs:install:machine: truesteps:- checkout- run: echo "Hello, let's install Steampipe!"- run: sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"workflows:my-workflow:jobs:- install
Running Steampipe in CircleCI
In order to run Steampipe commands, we will first install the Hacker News plugin.
version: 2.1jobs:install:machine: truesteps:- checkout- run: echo "Hello, let's install Steampipe!"- run: sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"- run: 'steampipe plugin install hackernews'workflows:my-workflow:jobs:- install
Next, we'll update the file with a query to fetch the top 10 stories from hackernews_best
.
version: 2.1jobs:install:machine: truesteps:- checkout- run: echo "Hello, let's install Steampipe!"- run: sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"- run: 'steampipe plugin install hackernews'- run: 'steampipe query "select id, title, score from hackernews_best order by score desc limit 10"'workflows:my-workflow:jobs:- install
That's it! Now you can use any of Steampipe's plugins to enrich your CircleCI pipelines.