Supporting spinnaker for deployment in GitLab CI
Problem to solve
Extract from https://github.com/spinnaker/spinnaker/issues/2047
At my company, we use Gitlab as an SCM hosting solution and we use Gitlab CI to do our CI. We also use Spinnaker, triggering pipelines when new docker images are added to the registry, but we'd like to have the tighter integration that is available for Jenkins (and Travis) and Github (and Stash and Bitbucket).
Intended users
Personas:
- Software developers
- DevOps engineers
- Systems Administrator
Further details
We have several prospects in Sales Force (aka SFDC) asking about spinnaker
integration to allow them to use their existing spinnaker
implementation rather than use the one in GitLab CI.
Proposal
The following external doc outlines the current state (from the spinnaker
viewpoint) and has a lot of detail as to what needs to happen on both sides:
Requirement notes from an internal team looking into spinnaker
integration (team includes @kmcknight @francispotter @pharlan):
- Create new tag in pipeline stage similar to
script
that would implement appropriate spinnaker REST API's to deploy packages- Use spinnaker GitLab artifact type
- More granular permissions so different groups can’t splat over other groups’ spinnaker deploys
- Good debug logging / cross-reference to spinnaker web UI
- Reporting
- Service or config dialogs for connecting a project to Spinnaker
Permissions and Security
Extracted from the external doc in the Proposal section above:
- GitLab webhooks configuration - This is missing one piece, the ability to have the GitLab webhook use a secret that Spinnaker knows - similar to the GitHub trigger configuration.
Documentation
Testing
What does success look like, and how can we measure that?
Success metrics:
- Prospects "on the fence" about purchasing GitLab now can go forward since the
spinnaker
integration requirement has been fulfilled
Acceptance criteria:
- Sales team is able to demonstrate the ability to kick off
spinnaker
pipeline from GitLab CI pipeline -
spinnaker
integration is easy to activate in.gitlab-ci.yml
and configure
What is the type of buyer?
I see this as a Premium tier capability, but open to discussion.