image:registry.hub.docker.com/library/golang:1.21# Official Docker image provided by Go. It contains pre-configured environment for building and running Go applications.
image:registry.hub.docker.com/library/golang:1.21# Official Docker image provided by Go
script:
-go get -t ./...# Installs dependencies, including those for testing
-go test -race -v ./...# Run tests with race detection enabled
job_build_artifact:
stage:build
# rules: # Conditions under which this job should run
# - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # Run this job only for merge request event into main.
# when: always
rules:# Conditions under which this job should run
-if:$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"# Run this job only for merge request event into main
when:always
image:registry.hub.docker.com/library/golang:1.21
script:
-go get -t ./...# Installs dependencies
@@ -32,23 +32,29 @@ job_build_artifact:
-./artifact.bin
expire_in:1 week
job_build_and_publish_image:
job_publish_artifact:
stage:publish
# rules: # Conditions under which this job should run
# - if: $CI_PIPELINE_SOURCE == "push" && $CI_MERGE_COMMIT_REF_NAME =~ /main/ # Run this job only for merge request event into main.
# when: always
image:docker:24.0.0# Official Docker image with Docker client installed
services:
-docker:24.0.0-dind# used to access the Docker daemon from within the CI job.
rules:# Conditions under which this job should run
-if:$CI_PIPELINE_SOURCE == "push" && $CI_MERGE_COMMIT_REF_NAME =~ /main/# Run this job only for merge request event into main.
when:always
image:curlimages/curl:latest# Custom image with curl