新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
go語言項(xiàng)目是怎么配置GitlabCI的
本文由
golang教程欄目給大家介紹gol語言項(xiàng)目是怎么配置Gitlab CI的,希望對(duì)需要的朋友有所幫助!

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供大荔網(wǎng)站建設(shè)、大荔做網(wǎng)站、大荔網(wǎng)站設(shè)計(jì)、大荔網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、大荔企業(yè)網(wǎng)站模板建站服務(wù),10余年大荔做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
- 使用golangci-lint 檢查代碼
- 編譯代碼
- 部署二進(jìn)制
before_script 設(shè)置環(huán)境變量
主要 GOPROXY設(shè)置
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
默認(rèn)集成了很多開箱即用的linter
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
編譯
compile:
stage: build
extends: .go-cache
script:
- go mod download
- go build -race -o $OUTPUT_NAME
artifacts:
paths:
- $OUTPUT_NAME
緩存 go mod
.go-cache:
variables:
GOPATH: $CI_PROJECT_DIR/.go
cache:
paths:
- .go/pkg/mod/
full example
# 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" 當(dāng)前標(biāo)題:go語言項(xiàng)目是怎么配置GitlabCI的
文章起源:http://m.fisionsoft.com.cn/article/dpiocjg.html


咨詢
建站咨詢
