harbour
harbour copied to clipboard
As User i want to build docker-image based on a sourcecode-repository
Purpose
A user wants to build a new Image based on any sourcecode-repository. Therefore harbour must be able to build a new images based on a given directory-path to a repository. The image should be pushed to the registry.
The first SCM we start with is Github. GitHub offers several ways to connect with it. We decided to use the GitHub App way since this offers the best control of access permissions for the user linking their GitHub.
Note: we do the querying of build in another task
Subtasks
- [x] create build context from repository at path
- [x] build image based on the buildcontext
- [x] authentication against registry
- [x] push image to registry
- [x] get repository from scm
- [x] GraphQL-Endpoint to trigger build
- [x] add github as scm provider
- [x] ignore files specified in dockerignore while creating buildcontext
- [x] finish HiFi design
- [x] provide button on frontend to trigger build
- [x] graphql mutation to add github app manually
Some Links:
https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#accessing-api-endpoints-as-a-github-app
https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest