Skip to content
Snippets Groups Projects

testing tut04

Open Yana Kernerman requested to merge tut04 into main
2 files
+ 15
43
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 15
37
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
- if: $CI_PIPELINE_SOURCE == "push"
when: always
- when: never
when: 'always'
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~/main/
- when: 'never'
stages:
- test
- build
- publish
job_test_the_code:
@@ -17,41 +15,21 @@ job_test_the_code:
script:
- go get -t ./...
- go test -race -v ./...
rules:
- when: always
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
artifacts:
paths:
- ./artifact.bin
expire_in: 1 week
job_publish_artifact:
job_build_and_publish_image:
stage: publish
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME =~ /main/
when: always
image: curlimages/curl:latest
image: docker:24.0.0
services:
- docker:24.0.0-dind
tags:
- docker-privileged
dependencies:
- job_build_artifact
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
script:
- echo "Publishing artifact..."
- echo "Publishing artifact ..."
- ls -al
- pwd
- env
- curl --version
- |
curl \
--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"
- TAG=$CI_COMMIT_REF_SLUG
- docker build --file ./Dockerfile --tag "$CI_REGISTRY_IMAGE:$TAG" .
- docker push "$CI_REGISTRY_IMAGE:$TAG"
\ No newline at end of file
Loading