GitLab provider for Wharf
Import Wharf projects from GitLab repositories. Mainly focused on
importing from self hosted GitLab CE instances, importing from
gitlab.com is not well tested.
Components
Configuring
The wharf-provider-gitlab program can be configured via environment variables
and through optional config files. See the docs on the Config
type over at:
https://pkg.go.dev/github.com/iver-wharf/wharf-provider-gitlab#Config
Development
-
Install Go 1.16 or later: https://golang.org/
-
Install dependencies using GNU Make or
GNUWin32
$ make deps
-
Generate the Swagger files (this has to be redone each time the swaggo
documentation comments has been altered):
$ make swag
-
Start hacking with your favorite tool. For example VS Code, GoLand,
Vim, Emacs, or whatnot.
Releasing
Replace the "v2.0.0" in make docker version=v2.0.0
with the new version. Full
documentation can be found at Releasing a new version.
Below are just how to create the Docker images using GNU Make
or GNUWin32:
$ make docker version=v2.0.0
STEP 1: FROM golang:1.16.5 AS build
STEP 2: WORKDIR /src
--> Using cache de3476fd68836750f453d9d4e7b592549fa924c14e68c9b80069881de8aacc9b
--> de3476fd688
STEP 3: ENV GO111MODULE=on
--> Using cache 4f47a95d0642dcaf5525ee1f19113f97911b1254889c5f2ce29eb6f034bd550b
--> 4f47a95d064
STEP 4: RUN go get -u github.com/swaggo/swag/cmd/swag@v1.7.0
...
Push the image by running:
docker push quay.io/iver-wharf/wharf-provider-gitlab:latest
docker push quay.io/iver-wharf/wharf-provider-gitlab:v2.0.0
Linting Golang
go get -u github.com/mgechev/revive
npm run lint-go
Linting markdown
npm install
npm run lint-md
# Some errors can be fixed automatically. Keep in mind that this updates the
# files in place.
npm run lint-md-fix
Linting
You can lint all of the above at the same time by running:
npm run lint
# Some errors can be fixed automatically. Keep in mind that this updates the
# files in place.
npm run lint-fix
Maintained by Iver.
Licensed under the MIT license.