bash - 在Circleci中使用golang-ci-lint

标签 bash go makefile circleci

我有一个Makefile在circleci上运行一些目标
这是Makefile的目标

install_lint:
    curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.21.0

当我在第二个目标golangci-lint --version上运行时,出现错误golangci-lint: Command not found
我也尝试过
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.21.0
作为Im runnig docker 1.13.2
version: 2
jobs:
  build:
    docker:
      - image: circleci/golang:1.13.3


知道我在这里想念什么吗?如何使二进制文件可用?

我也尝试过类似
install_lint:

    curl -sLO https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCI_VERSION}/golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz
    tar -xzvf golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz
    cp golangci-lint-${GOLANGCI_VERSION}-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && chmod +x /usr/local/bin/golangci-lint

我有错误
cp: cannot create regular file '/usr/local/bin/golangci-lint': Permission denied

最佳答案

我的方式是

1-我让Circle CI安装golangci-lint
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0
2-我的make文件只有golangci-lint调用

lint: 
    @golangci-lint run

3圈CI步骤调用我的makefile
validate-lint:
    ...
    steps:
      - run:
          name: "Validate lint"
          command: |
            curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0
            make lint

关于bash - 在Circleci中使用golang-ci-lint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58695168/

相关文章:

去 Gin : Validating base64

function - Golang 函数指针作为结构的一部分

json - 将 slice 结果 JSON 插入 MongoDB

linux - Makefile:124: *** 对函数 `foreach' 的调用未终止:缺少 `)' 。停止

makefile - CheckCXXCompilerFlag 或 CheckCCompilerFlag 一次检查一组标志

c++ - 在 eclipse cdt c++ makefile 项目中使用自定义目录进行构建

javascript - 如何使用 Elastic Beanstalk 创建 "tmp"目录?

bash - 试图在 Bash 的变量中嵌入换行符

linux - 检查从同一 bash 脚本启动的后台进程的运行状态

bash - awk/gsub - 每行多次打印双引号之间的所有内容