Я пытаюсь портировать Makefile, который используется для локальной сборки проекта, в автоматизированную систему сборки в Jenkins. Этот Makefile использует docker контейнеры для сборки проекта. Однако я открыт для предложений о том, как сделать всю структуру, поскольку я понятия не имею, что я делаю!
Мне интересно, как я могу портировать этот вид фрагмента:
PKGS = $(shell go list ./... | grep -v /vendor/ | grep -v /bindata)
VERSION = $(shell git describe)
VERSION64 = $(shell git describe | base64)
SHA = $(shell git rev-parse HEAD)
PWD = $(shell pwd)
В декларативный конвейер. Когда я оборачиваю переменные в блоке environment
, я получаю это:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 10: unexpected token: list @ line 10, column 30.
PKGS = $(go list ./... | grep -v /vendor/ | grep -v /bindata)
^
1 error
Вот как я запускаю конвейер (и после первого этапа я объявляю env vars) :
pipeline {
agent {
docker {
image 'golang:1.11'
args '-v $(PWD):/go/src/project -w /go/src/project'
}
}