Overview

In this article we will make the necessary modifications to a simple CodeShip project to scan a GitHub repository with SOOS.

Integration Steps

Open the SOOS App, browse to Integrate > CI/CD/Repo > CI/CD > CodeShip

  • Click the "Download" link and get the latest release of the soos.py and requirements.txt files

  • Create the following directory structure in your root codebase "soos/workspace"

  • Place the soos.py and requirements.txt files under the "soos" directory

Technical details for the script can be found here: https://github.com/soos-io/soos-ci-analysis-python

Note the API Key and Client ID values, you will need these below.

Repo Setup

  1. Create a new folder in your GitHub repository: <repo_root>/soos/workspace/
  2. Place the requirements.txt and soos.py files <repo_root>/soos/ folder that you created in step # 1 above.
  3. Commit these 2 new files and the new folder path to GitHub.

Configure CodeShip

Setup Environment Variables

Create the SOOS_API_KEY and SOOS_CLIENT_ID environment variables in the provided “Environment variables” text field. These will serve as environment variables to be used by the Package Aware CLI. Use the API Key and Client ID values you collected from the SOOS App.

Navigate to your project’s settings

project settings

 

Create the variables as mentioned above

create variable

Add The Build Configuration

Select “Tests” in the menu and then select “I want to create my own custom commands” within the “Select your technology to pre-populate basic commands”.

create

Enter “pyenv local 3.6” in the “Setup Commands” text box:

setup commands box

Add a new pipeline in the “Configure Test Pipelines” section by pressing “Add Pipeline”, enter an appropriate name for the pipeline, and press “Save”

configure test pipelines

In the Pipeline text box, add the script snippet found in the SOOS App, press “Save Changes”.

save changes and run

Run It

To run the SOOS CLI against your repository’s code, just execute a build or commit a change. The build will use the environment variables that you created for the API Key and Client ID.