feat: generate and publish artefacts via jenkins
All checks were successful
Cadoles/goweb-oidc/pipeline/head This commit looks good

This commit is contained in:
2023-12-06 15:45:25 +01:00
parent e16b905bca
commit d4637b26bc
4 changed files with 74 additions and 26 deletions

View File

@ -1,7 +1,19 @@
DOKKU_HOST := dokku@dev.lookingfora.name
SHELL := /bin/bash
DOCKER_IMAGE_NAME ?= reg.cadoles.com/cadoles/oidc-test
DOCKER_IMAGE_TAG ?= $(MKT_PROJECT_VERSION)
IMAGE_NAME ?= reg.cadoles.com/cadoles/oidc-test
MKT_GITEA_RELEASE_ORG ?= Cadoles
MKT_GITEA_RELEASE_PROJECT ?= goweb-oidc
MKT_GITEA_RELEASE_VERSION ?= $(MKT_PROJECT_VERSION)
define MKT_GITEA_RELEASE_BODY
## Docker usage
```
docker pull $(IMAGE_NAME):$(MKT_PROJECT_VERSION)
```
endef
export MKT_GITEA_RELEASE_BODY
build:
CGO_ENABLED=0 go build -v -o ./bin/server ./cmd/server
@ -9,9 +21,6 @@ build:
test:
go test -v -race ./...
release:
@$(SHELL) ./misc/script/release.sh
tidy:
go mod tidy
@ -26,32 +35,40 @@ clean:
rm -rf data
rm -rf bin
dokku-build:
build-image:
docker build \
-f ./misc/dokku/Dockerfile \
-t goweb-oidc-dokku:latest \
-t "${IMAGE_NAME}:latest" \
-f ./misc/docker/Dockerfile \
.
dokku-run:
docker run -it --rm -p 3002:3002 goweb-oidc-dokku:latest
scan: build-image tools/trivy/bin/trivy
mkdir -p .trivy
tools/trivy/bin/trivy --cache-dir .trivy/.cache image --ignorefile .trivyignore.yaml $(TRIVY_ARGS) $(IMAGE_NAME):latest
tools/trivy/bin/trivy:
mkdir -p tools/trivy/bin
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b ./tools/trivy/bin v0.47.0
dokku-deploy:
$(if $(shell git config remote.dokku-oidc-test.url),, git remote add dokku-oidc-test $(DOKKU_HOST):oidc-test)
git push -f dokku-oidc-test $(shell git rev-parse HEAD):refs/heads/master
release: release-image release-gitea
docker-build: .mktools
docker build \
-f ./misc/dokku/Dockerfile \
-t $(DOCKER_IMAGE_NAME):latest \
.
release-archive:
@$(SHELL) ./misc/script/release.sh
docker-release: .mktools docker-build
docker image tag $(DOCKER_IMAGE_NAME):latest $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
docker login
docker push $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
docker push $(DOCKER_IMAGE_NAME):latest
release-gitea: .mktools release-archive
@[ ! -z "$(MKT_PROJECT_VERSION)" ] || ( echo "Just downloaded mktools. Please re-run command."; exit 1 )
$(MAKE) MKT_GITEA_RELEASE_ATTACHMENTS="$$(find release/* -maxdepth 0 -type f -printf '%p ')" mkt-gitea-release
.PHONY: lint watch build vendor tidy release
release-image: .mktools build-image
@[ ! -z "$(MKT_PROJECT_VERSION)" ] || ( echo "Just downloaded mktools. Please re-run command."; exit 1 )
docker tag "${IMAGE_NAME}:latest" "${IMAGE_NAME}:$(MKT_PROJECT_VERSION)"
docker tag "${IMAGE_NAME}:latest" "${IMAGE_NAME}:$(MKT_PROJECT_SHORT_VERSION)"
docker tag "${IMAGE_NAME}:latest" "${IMAGE_NAME}:$(MKT_PROJECT_VERSION_CHANNEL)-latest"
docker push "${IMAGE_NAME}:$(MKT_PROJECT_VERSION)"
docker push "${IMAGE_NAME}:$(MKT_PROJECT_SHORT_VERSION)"
docker push "${IMAGE_NAME}:$(MKT_PROJECT_VERSION_CHANNEL)-latest"
.PHONY: lint watch build tidy release
.PHONY: mktools
mktools: