From 6f04373644b56b3d98ec29d9b547d5d71a8c6b1e Mon Sep 17 00:00:00 2001 From: DeveloperDurp Date: Sun, 21 May 2023 08:41:53 -0500 Subject: [PATCH] update --- jobs/build-container.yml | 119 ------------------------------------ pipelines/golang.yml | 14 +++-- scripts/golang-build-api.sh | 13 ++++ templates/docker.tpl.yml | 1 - templates/golang.tpl.yml | 8 +++ templates/helm.tpl.yml | 1 - templates/sonarqube.tpl.yml | 3 - templates/version.tpl.yml | 1 - 8 files changed, 31 insertions(+), 129 deletions(-) delete mode 100644 jobs/build-container.yml create mode 100644 scripts/golang-build-api.sh create mode 100644 templates/golang.tpl.yml diff --git a/jobs/build-container.yml b/jobs/build-container.yml deleted file mode 100644 index 836f909..0000000 --- a/jobs/build-container.yml +++ /dev/null @@ -1,119 +0,0 @@ -stages: - - build -version: - image: gittools/gitversion:5.12.0 - stage: .pre - variables: - GIT_DEPTH: "0" - script: - # Begin of version-number.sh - - | - #Check for configuration - echo "mode: ContinuousDeployment - continuous-delivery-fallback-tag: '' - branches: - master: - mode: ContinuousDeployment - tag: 'dev' - increment: Minor - track-merge-target: true - tracks-release-branches: true - is-release-branch: false - prevent-increment-of-merged-branch-version: false - release: - regex: release?[/] - mode: ContinuousDeployment - increment: Minor - tag: '' - is-release-branch: true - prevent-increment-of-merged-branch-version: true - feature: - regex: feature?[/] - mode: ContinuousDeployment - increment: Inherit - tag: 'alpha' - is-release-branch: false - prevent-increment-of-merged-branch-version: true - ignore: - sha: [] - " > GitVersion.yml - version=$(/tools/dotnet-gitversion /showvariable NuGetVersionV2) - echo "VERSION=$version" >> version.env - cat version.env - # End of version-number.sh - artifacts: - reports: - dotenv: version.env -sonarcloud-check: - stage: .pre - variables: - SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache - GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task - image: - name: sonarsource/sonar-scanner-cli:latest - entrypoint: [""] - cache: - key: "${CI_JOB_NAME}" - paths: - - .sonar/cache - script: - - sonar-scanner - rules: - - if: $CI_COMMIT_REF_NAME == 'main' || $CI_PIPELINE_SOURCE == 'merge_request_event' -build-container: - image: registry.durp.info/docker:20.10.17 - variables: - DOCKER_DRIVER: overlay2 - DOCKER_TLS_CERTDIR: "" - DOCKER_HOST: tcp://127.0.0.1:2375/ - services: - - name: docker:dind - entrypoint: ["dockerd-entrypoint.sh", "--tls=false"] - stage: build - script: - # Begin of docker-login.sh - - | - #login to docker - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY/$CI_PROJECT_PATH - # End of docker-login.sh - - # Begin of docker-build.sh - - | - #Build Docker Container - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$VERSION -t $CI_REGISTRY/$CI_PROJECT_PATH:latest . - docker push "$CI_REGISTRY/$CI_PROJECT_PATH:latest" - docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$VERSION" - # End of docker-build.sh - needs: - - job: version - artifacts: true - only: - - main -HelmChart: - image: registry.durp.info/dtzar/helm-kubectl - stage: build - script: - # Begin of helm-addrepo.sh - - | - #Helm repo add - helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/stable - # End of helm-addrepo.sh - - # Begin of helm-package.sh - - | - #Helm Package - for chart in charts/*; do - if [ -d "$chart" ]; then - helm package "$chart" -d ./packages --version ${VERSION} - fi - done - # End of helm-package.sh - - # Begin of helm-push.sh - - "#Helm Push \n \nhelm plugin install https://github.com/chartmuseum/helm-push\nfor chart in packages/*; do\n helm cm-push ./$chart ${CI_PROJECT_NAME}\ndone\n" - # End of helm-push.sh - needs: - - job: version - artifacts: true - only: - - main diff --git a/pipelines/golang.yml b/pipelines/golang.yml index 6e35f4c..990d829 100644 --- a/pipelines/golang.yml +++ b/pipelines/golang.yml @@ -17,22 +17,28 @@ version: stage: .pre only: - main - - /^release*/ sonarqube: extends: .sonarcloud-check stage: .pre + rules: + - if: $CI_COMMIT_REF_NAME == 'main' || $CI_PIPELINE_SOURCE == 'merge_request_event' + +gobuild: + extends: .version + stage: build docker: extends: .docker-build-container stage: publish + needs: + - job: gobuild + artifacts: true only: - main - - /^release*/ helm: extends: .helm-createchart stage: publish only: - - main - - /^release*/ \ No newline at end of file + - main \ No newline at end of file diff --git a/scripts/golang-build-api.sh b/scripts/golang-build-api.sh new file mode 100644 index 0000000..5eb7249 --- /dev/null +++ b/scripts/golang-build-api.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +#%%MULTILINE_YAML_START +#Build golang api +export GOPATH=/go +export PATH=$PATH:$GOPATH/bin + +mkdir output + +go install +go install github.com/swaggo/swag/cmd/swag@v1.8.12 +swag init + +go build -o ./output/main . \ No newline at end of file diff --git a/templates/docker.tpl.yml b/templates/docker.tpl.yml index 2445ec3..8b869a8 100644 --- a/templates/docker.tpl.yml +++ b/templates/docker.tpl.yml @@ -7,7 +7,6 @@ services: - name: docker:dind entrypoint: ["dockerd-entrypoint.sh", "--tls=false"] - stage: build script: - ./scripts/docker-login.sh - ./scripts/docker-build.sh diff --git a/templates/golang.tpl.yml b/templates/golang.tpl.yml new file mode 100644 index 0000000..4edcb04 --- /dev/null +++ b/templates/golang.tpl.yml @@ -0,0 +1,8 @@ +.golang-build-api: + image: registry.durp.info/golang:1.20 + script: + - ./scripts/golang-build-api.sh + artifacts: + expire_in: 1 hour + paths: + - $CI_PROJECT_DIR/output \ No newline at end of file diff --git a/templates/helm.tpl.yml b/templates/helm.tpl.yml index b38857b..9975b72 100644 --- a/templates/helm.tpl.yml +++ b/templates/helm.tpl.yml @@ -1,6 +1,5 @@ .helm-createchart: image: registry.durp.info/dtzar/helm-kubectl - stage: build script: - ./scripts/helm-addrepo.sh - ./scripts/helm-package.sh diff --git a/templates/sonarqube.tpl.yml b/templates/sonarqube.tpl.yml index 88a37a3..18fc8ea 100644 --- a/templates/sonarqube.tpl.yml +++ b/templates/sonarqube.tpl.yml @@ -1,5 +1,4 @@ .sonarcloud-check: - stage: .pre variables: SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task @@ -12,5 +11,3 @@ - .sonar/cache script: - sonar-scanner - rules: - - if: $CI_COMMIT_REF_NAME == 'main' || $CI_PIPELINE_SOURCE == 'merge_request_event' \ No newline at end of file diff --git a/templates/version.tpl.yml b/templates/version.tpl.yml index 7048a98..e5d8aa0 100644 --- a/templates/version.tpl.yml +++ b/templates/version.tpl.yml @@ -1,6 +1,5 @@ .version: image: gittools/gitversion:5.12.0 - stage: .pre variables: GIT_DEPTH: "0" script: