Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 2.71 KB

README.md

File metadata and controls

53 lines (43 loc) · 2.71 KB

PipeScope

PipeScope is a command-line tool that monitors the status of remote pipelines.

How it works

PipeScope uses external GitLab and GitHub clients in conjunction with a pure Golang git implementation to dynamically stream the pipeline status of your repo's HEAD commit.

Installation

go install github.com/gregfurman/pipescope@latest

Usage

Be sure to specify your access token via the --access-token flag.

PipeScope should be run wherever your repo's .git is located. Else, you will have to specify the location via the --git-directory flag.

The Git Provider can be explicitly set as an argument passed to the CLI (can be one of gitlab or github). Otherwise, PipeScope will attempt to dynamically determine which provider to use from the prefix of your access-token OR from the remote URL retrieved via the internal git client.

Example

pipescope --access-token=<GitLab access token>

Output:

2024/04/18 17:55:47 INFO Polled Pipeline [status=created]" url=https://gitlab.com/gregfurman/sample-project/-/pipelines/1253625945 sha=928e2dfffdaaf6fa32f3ee4bf608690b09c6e2c1 project_id=26797650 pipeline_id=5234431782
2024/04/18 17:55:58 INFO Polled Pipeline [status=running]" url=https://gitlab.com/gregfurman/sample-project/-/pipelines/1253625945 sha=928e2dfffdaaf6fa32f3ee4bf608690b09c6e2c1 project_id=26797650 pipeline_id=5234431782
2024/04/18 17:56:12 INFO Polled Pipeline [status=success]" url=https://gitlab.com/gregfurman/sample-project/-/pipelines/1253625945 sha=928e2dfffdaaf6fa32f3ee4bf608690b09c6e2c1 project_id=26797650 pipeline_id=5234431782

Command-line Flags

-access-token string
      API access token where remote pipeline resides (env=ACCESS_TOKEN).
-git-directory string
      Location of .git directory. (default ".")
-play-sound
      Play a noise when pipeline completes (experimental).
-poll-frequency duration
      Polling frequency to pipeline. (default 5s)

Limitations/Roadmap

  • Project is currently experimental so please do not use this in production anywhere
  • Needs CI/CD, tests, and a Makefile
  • Currently, PipeScope can only monitor GitLab pipelines. Future versions will extend this to include GitHub workflows.
  • There is not a lot of flexibility to select pipelines or projects via command-line input -- this should be changed to allow custom pipeline IDs to be specified.
  • Include more information on pipeline jobs
  • Allow better streaming of pipeline/job logs to stdout