Skip to content
Snippets Groups Projects

Tut01

Closed Yana Kernerman requested to merge s92604/devops-webservice:tut01 into main
1 file
+ 13
15
Compare changes
  • Side-by-side
  • Inline
+ 13
15
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"
when: always
- when: never
@@ -18,26 +16,24 @@ job_test_the_code:
- go get -t ./...
- go test -race -v ./...
rules:
- when: always
- when: always # Der Test-Job läuft immer, unabhängig vom Event.
job_build_artifact:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~ /main/
when: always
image: registry.hub.docker.com/library/golang:1.21
script:
- go get -t ./...
- go build -o ./artifact.bin ./*.go
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"
when: always # Build-Job läuft nur bei Push auf `main`
artifacts:
paths:
- ./artifact.bin
expire_in: 1 week
job_publish_artifact:
stage: publish
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~ /main/
when: always
image: curlimages/curl:latest
tags:
- docker-privileged
@@ -47,11 +43,10 @@ job_publish_artifact:
- echo "Publishing artifact..."
- ls -al
- pwd
# - echo "${CI_JOB_TOKEN}"
# - echo " ${CI_API_V4_URL}"
# - echo "${CI_PROJECT_ID}"
# - echo "${CI_COMMIT_REF_NAME}"
- env
- echo "${CI_JOB_TOKEN}"
- echo " ${CI_API_V4_URL}"
- echo "${CI_PROJECT_ID}"
- echo "${CI_COMMIT_REF_NAME}"
- echo "${version}"
- curl --version
- |
@@ -59,3 +54,6 @@ job_publish_artifact:
--header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file ./artifact.bin \
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/artifacts/1.0.0/webservice"
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"
when: always # Publish-Job läuft nur bei Push auf `main`
Loading