build: fix Jenkinsfile (#33)

This commit is contained in:
HAOYUatHZ
2022-10-20 16:24:50 +08:00
committed by GitHub
parent 2e32997a5a
commit fd3773a7ef
3 changed files with 27 additions and 27 deletions

31
Jenkinsfile vendored
View File

@@ -17,7 +17,14 @@ pipeline {
stages {
stage('Build') {
when {
anyOf { changeset "bridge/**"; changeset "build/**"; changeset "coordinator/**"; changeset "common/**"; changeset "database/**" }
anyOf {
changeset "Jenkinsfile"
changeset "build/**"
changeset "bridge/**"
changeset "coordinator/**"
changeset "common/**"
changeset "database/**"
}
}
steps {
//start to build project
@@ -33,14 +40,20 @@ pipeline {
}
stage('Test') {
when {
anyOf { changeset "bridge/**"; changeset "build/**"; changeset "coordinator/**"; changeset "common/**"; changeset "database/**" }
anyOf {
changeset "Jenkinsfile"
changeset "build/**"
changeset "bridge/**"
changeset "coordinator/**"
changeset "common/**"
changeset "database/**"
}
}
steps {
sh "docker ps -aq | xargs -r docker stop"
sh "docker container prune -f"
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
sh '''
cd ./bridge
go test -v -race -coverprofile=coverage.txt -covermode=atomic -p 1 scroll-tech/database
go test -v -race -coverprofile=coverage.txt -covermode=atomic -p 1 scroll-tech/database/migrate
go test -v -race -coverprofile=coverage.txt -covermode=atomic -p 1 scroll-tech/database/docker
@@ -65,7 +78,14 @@ pipeline {
}
stage('Docker') {
when {
anyOf { changeset "bridge/**"; changeset "build/**"; changeset "coordinator/**"; changeset "common/**"; changeset "database/**" }
anyOf {
changeset "Jenkinsfile"
changeset "build/**"
changeset "bridge/**"
changeset "coordinator/**"
changeset "common/**"
changeset "database/**"
}
}
steps {
withCredentials([usernamePassword(credentialsId: "${credentialDocker}", passwordVariable: 'dockerPassword', usernameVariable: 'dockerUser')]) {
@@ -74,11 +94,8 @@ pipeline {
sh 'docker login --username=${dockerUser} --password=${dockerPassword}'
for (i in ['bridge', 'coordinator']) {
sh "docker build -t ${imagePrefix}/$i:${GIT_COMMIT} -f $i/Dockerfile ."
sh "docker tag ${imagePrefix}/$i:${GIT_COMMIT} ${imagePrefix}/$i:latest"
sh "docker push ${imagePrefix}/$i:${GIT_COMMIT}"
sh "docker push ${imagePrefix}/$i:latest"
sh "docker rmi ${imagePrefix}/$i:${GIT_COMMIT}"
sh "docker rmi ${imagePrefix}/$i:latest"
}
}
}

View File

@@ -1,17 +0,0 @@
# Build roller in a stock Go builder container
FROM golang:1.18-alpine as builder
ENV GOPROXY https://goproxy.io,direct
COPY go.work go.work
COPY go.work.sum go.work.sum
COPY ./roller /go-roller
COPY ./common ./common
RUN cd /go-roller/cmd/ && go build -v -p 4 -o roller
# Pull roller into a second stage deploy alpine container
FROM alpine:latest
COPY --from=builder /go-roller/cmd/ /bin/
ENTRYPOINT ["roller"]

View File

@@ -1,6 +1,6 @@
.PHONY: lint docker clean roller
IMAGE_NAME=roller-go
IMAGE_NAME=go-roller
IMAGE_VERSION=latest
prepare-libprover:
@@ -26,5 +26,5 @@ lint: ## Lint the files - used for CI
clean: ## Empty out the bin folder
@rm -rf build/bin
docker:
docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ../ -f ./Dockerfile
# docker:
# docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ../ -f ./Dockerfile