diff --git a/jobs/temp b/jobs/temp deleted file mode 100644 index e69de29..0000000 diff --git a/pipelines/build-container.yml b/pipelines/build-container.yml deleted file mode 100644 index 836f909..0000000 --- a/pipelines/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 new file mode 100644 index 0000000..6e35f4c --- /dev/null +++ b/pipelines/golang.yml @@ -0,0 +1,38 @@ +stages: + - build + - package + - publish + +include: + - project: 'developerdurp/yml' + ref: main + file: + - 'jobs/version.yml' + - 'jobs/sonarqube.yml' + - 'jobs/docker.yml' + - 'jobs/helm.yml' + +version: + extends: .version + stage: .pre + only: + - main + - /^release*/ + +sonarqube: + extends: .sonarcloud-check + stage: .pre + +docker: + extends: .docker-build-container + stage: publish + only: + - main + - /^release*/ + +helm: + extends: .helm-createchart + stage: publish + only: + - main + - /^release*/ \ No newline at end of file diff --git a/templates/build-container.tpl.yml b/templates/build-container.tpl.yml deleted file mode 100644 index e01b06d..0000000 --- a/templates/build-container.tpl.yml +++ /dev/null @@ -1,62 +0,0 @@ -stages: - - build - -version: - image: gittools/gitversion:5.12.0 - stage: .pre - variables: - GIT_DEPTH: "0" - script: - - ./scripts/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: - - ./scripts/docker-login.sh - - ./scripts/docker-build.sh - needs: - - job: version - artifacts: true - only: - - main - -HelmChart: - image: registry.durp.info/dtzar/helm-kubectl - stage: build - script: - - ./scripts/helm-addrepo.sh - - ./scripts/helm-package.sh - - ./scripts/helm-push.sh - needs: - - job: version - artifacts: true - only: - - main \ No newline at end of file diff --git a/templates/docker.tpl.yml b/templates/docker.tpl.yml new file mode 100644 index 0000000..2445ec3 --- /dev/null +++ b/templates/docker.tpl.yml @@ -0,0 +1,16 @@ +.docker-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: + - ./scripts/docker-login.sh + - ./scripts/docker-build.sh + needs: + - job: version + artifacts: true diff --git a/templates/helm.tpl.yml b/templates/helm.tpl.yml new file mode 100644 index 0000000..b38857b --- /dev/null +++ b/templates/helm.tpl.yml @@ -0,0 +1,10 @@ +.helm-createchart: + image: registry.durp.info/dtzar/helm-kubectl + stage: build + script: + - ./scripts/helm-addrepo.sh + - ./scripts/helm-package.sh + - ./scripts/helm-push.sh + needs: + - job: version + artifacts: true diff --git a/templates/sonarqube.tpl.yml b/templates/sonarqube.tpl.yml new file mode 100644 index 0000000..88a37a3 --- /dev/null +++ b/templates/sonarqube.tpl.yml @@ -0,0 +1,16 @@ +.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' \ No newline at end of file diff --git a/templates/version.tpl.yml b/templates/version.tpl.yml new file mode 100644 index 0000000..7048a98 --- /dev/null +++ b/templates/version.tpl.yml @@ -0,0 +1,10 @@ +.version: + image: gittools/gitversion:5.12.0 + stage: .pre + variables: + GIT_DEPTH: "0" + script: + - ./scripts/version-number.sh + artifacts: + reports: + dotenv: version.env