Rumah >pembangunan bahagian belakang >Golang >Cara mengkonfigurasi Gitlab CI untuk projek bahasa go

Cara mengkonfigurasi Gitlab CI untuk projek bahasa go

藏色散人
藏色散人ke hadapan
2021-12-08 14:52:102804semak imbas

Artikel ini ditulis oleh ruangan tutorial golang untuk memperkenalkan kepada anda cara mengkonfigurasi Gitlab CI dalam projek bahasa gol saya harap ia dapat membantu rakan-rakan yang memerlukan.

proses saluran paip

  • Gunakan golangci-lint untuk menyemak kod
  • Kompil Kod
  • Gunakan Binari

sebelum_skrip Tetapkan Pembolehubah Persekitaran

Tetapan GOPROXY Utama

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

Default Bersepadu banyak serpihan luar kotak

Cara mengkonfigurasi Gitlab CI untuk projek bahasa go

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 bermakna anda boleh terus berlari jika gagal Kerja berikutnya

kompilasi

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

mod cache go

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

contoh penuh

# 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"

Atas ialah kandungan terperinci Cara mengkonfigurasi Gitlab CI untuk projek bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam