ホームページ  >  記事  >  バックエンド開発  >  Go 言語プロジェクト用に Gitlab CI を構成する方法

Go 言語プロジェクト用に Gitlab CI を構成する方法

藏色散人
藏色散人転載
2021-12-08 14:52:102739ブラウズ

この記事は、golang チュートリアル コラムによって提供され、gol 言語プロジェクトで Gitlab CI を構成する方法を紹介します。

パイプライン プロセス

    golangci-lint を使用してコードを確認する
  • コンパイルコード
  • バイナリのデプロイ
before_script環境変数の設定

メインGOPROXY設定

before_script:
  - echo "before_script"
  - git version
  - go env -w GOPRIVATE=code.haiziwang.com
  - mkdir -p .go
  - go version
  - go env -w GO111MODULE=on
  - go env -w GOPROXY="https://goproxy.io,direct"
golangci-lint

統合デフォルトでは、すぐに使える多くのリンター

Go 言語プロジェクト用に Gitlab CI を構成する方法

https://golangci-lint.run/

golangci-lint:
    image: golangci/golangci-lint:v1.27.0
    stage: lint
    extends: .go-cache
    allow_failure: true
    script:
      - golangci-lint run -v
allow_failure は、失敗した場合に、後続のジョブを引き続き実行できます

##Compile

compile:
    stage: build
    extends: .go-cache
    script:
      - go mod download
      - go build -race -o $OUTPUT_NAME
    artifacts:
      paths:
        - $OUTPUT_NAME

cache go mod

.go-cache:
    variables:
        GOPATH: $CI_PROJECT_DIR/.go
    cache:
      paths:
        - .go/pkg/mod/

完全な例

# This file is a template, and might need editing before it works on your project.
image: hub-mirror.c.163.com/library/golang:latest

.go-cache:
    variables:
        GOPATH: $CI_PROJECT_DIR/.go
    cache:
      paths:
        - .go/pkg/mod/

variables:
  OUTPUT_NAME: helloworld-app

stages:
    - lint
    - build
    - deploy

before_script:
  - echo "before_script"
  - git version
  - go env -w GOPRIVATE=code.haiziwang.com
  - mkdir -p .go
  - go version
  - go env -w GO111MODULE=on
  - go env -w GOPROXY="https://goproxy.io,direct"

golangci-lint:
    image: golangci/golangci-lint:v1.27.0
    stage: lint
    extends: .go-cache
    allow_failure: true
    script:
      - golangci-lint run -v

compile:
    stage: build
    extends: .go-cache
    script:
      - go mod download
      - go build -race -o $OUTPUT_NAME
    artifacts:
      paths:
        - $OUTPUT_NAME

deploy-dev:
    stage: deploy
    script:
      - echo "deploy dev environment"

以上がGo 言語プロジェクト用に Gitlab CI を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。