2018-06-07 17:16:51 +08:00
|
|
|
stages:
|
2018-08-13 02:40:33 +08:00
|
|
|
- check-dco
|
2018-06-17 20:18:35 +08:00
|
|
|
- go-fmt
|
2018-08-17 02:53:26 +08:00
|
|
|
- go-test
|
2018-06-07 17:16:51 +08:00
|
|
|
- build-src
|
2018-12-29 14:14:21 +08:00
|
|
|
- aws-upload-tags
|
2018-06-07 17:16:51 +08:00
|
|
|
- build-docker
|
2018-09-26 15:52:16 +08:00
|
|
|
- docker-registry-master
|
|
|
|
- docker-registry-tags
|
2018-06-07 17:16:51 +08:00
|
|
|
|
2018-08-13 02:40:33 +08:00
|
|
|
check-dco:
|
|
|
|
stage: check-dco
|
|
|
|
image: debian:buster
|
|
|
|
except:
|
|
|
|
- master
|
2018-09-26 15:52:16 +08:00
|
|
|
- tags
|
2018-08-13 02:40:33 +08:00
|
|
|
script:
|
|
|
|
- apt update
|
|
|
|
- apt install -y curl git jq
|
|
|
|
- bash ./scripts/check-dco
|
|
|
|
|
2018-06-07 17:16:51 +08:00
|
|
|
build-src:
|
|
|
|
stage: build-src
|
|
|
|
image: debian:buster
|
2018-07-27 00:26:04 +08:00
|
|
|
except:
|
|
|
|
- master
|
2018-09-26 15:52:16 +08:00
|
|
|
- tags
|
2018-10-18 13:18:01 +08:00
|
|
|
before_script:
|
2018-12-29 13:06:39 +08:00
|
|
|
- bash $CI_PROJECT_DIR/scripts/gitlab-ci-build-prescript
|
|
|
|
script:
|
2018-10-18 13:18:01 +08:00
|
|
|
- export GOPATH=/go
|
|
|
|
- export PATH=$PATH:/go/bin
|
|
|
|
- cd /go/src/$CI_PROJECT_NAME
|
2018-06-07 17:16:51 +08:00
|
|
|
- make devel
|
|
|
|
- make prod
|
|
|
|
|
2018-12-29 13:06:39 +08:00
|
|
|
aws-upload-tags:
|
|
|
|
stage: aws-upload-tags
|
|
|
|
image: debian:buster
|
2018-12-29 14:37:27 +08:00
|
|
|
environment: aws-upload-tags
|
2018-12-29 14:59:54 +08:00
|
|
|
variables:
|
|
|
|
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
|
|
|
|
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
|
2018-12-29 13:06:39 +08:00
|
|
|
only:
|
|
|
|
- tags
|
|
|
|
before_script:
|
|
|
|
- bash $CI_PROJECT_DIR/scripts/gitlab-ci-build-prescript
|
|
|
|
script:
|
|
|
|
- export GOPATH=/go
|
|
|
|
- export PATH=$PATH:/go/bin
|
|
|
|
- cd /go/src/$CI_PROJECT_NAME
|
|
|
|
- make prod
|
|
|
|
- cd build/prod && tar -zcvf /commento-linux-amd64-$(git describe --tags).tgz .
|
|
|
|
- aws s3 cp /commento-linux-amd64-$(git describe --tags).tgz s3://commento-release/
|
|
|
|
|
2018-06-07 17:16:51 +08:00
|
|
|
build-docker:
|
|
|
|
stage: build-docker
|
|
|
|
image: docker:stable
|
2018-06-08 21:45:02 +08:00
|
|
|
services:
|
|
|
|
- docker:dind
|
2018-07-27 00:26:04 +08:00
|
|
|
except:
|
|
|
|
- master
|
2018-09-26 15:52:16 +08:00
|
|
|
- tags
|
2018-06-07 17:16:51 +08:00
|
|
|
script:
|
2018-12-29 13:55:06 +08:00
|
|
|
- docker build -t commento .
|
2018-06-07 17:16:51 +08:00
|
|
|
|
|
|
|
go-test:
|
|
|
|
stage: go-test
|
|
|
|
image: golang:1.10.2
|
|
|
|
services:
|
|
|
|
- postgres:latest
|
|
|
|
variables:
|
|
|
|
POSTGRES_USER: postgres
|
|
|
|
POSTGRES_PASSWORD: postgres
|
|
|
|
POSTGRES_DB: commento_test
|
|
|
|
COMMENTO_POSTGRES: postgres://postgres:postgres@postgres/commento_test?sslmode=disable
|
2018-07-27 00:26:04 +08:00
|
|
|
except:
|
|
|
|
- master
|
2018-09-26 15:52:16 +08:00
|
|
|
- tags
|
2018-10-18 13:18:01 +08:00
|
|
|
before_script:
|
|
|
|
- mkdir -p /go/src /go/bin /go/pkg
|
|
|
|
- export GOPATH=/go
|
|
|
|
- export PATH=$PATH:/go/bin
|
|
|
|
- curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
|
|
|
- ln -s $CI_PROJECT_DIR /go/src/$CI_PROJECT_NAME
|
2018-06-07 17:16:51 +08:00
|
|
|
script:
|
2018-10-18 13:18:01 +08:00
|
|
|
- cd /go/src/$CI_PROJECT_NAME
|
2018-06-10 22:32:52 +08:00
|
|
|
- make test
|
2018-06-09 13:41:13 +08:00
|
|
|
|
2018-06-17 20:18:35 +08:00
|
|
|
go-fmt:
|
|
|
|
stage: go-fmt
|
|
|
|
image: golang:1.10.2
|
2018-07-27 00:26:04 +08:00
|
|
|
except:
|
|
|
|
- master
|
2018-09-26 15:52:16 +08:00
|
|
|
- tags
|
2018-06-17 20:18:35 +08:00
|
|
|
script:
|
|
|
|
- cd api
|
|
|
|
- test -z $(go fmt)
|
|
|
|
|
2018-09-26 15:52:16 +08:00
|
|
|
docker-registry-master:
|
|
|
|
stage: docker-registry-master
|
2018-06-09 13:41:13 +08:00
|
|
|
image: docker:stable
|
|
|
|
services:
|
|
|
|
- docker:dind
|
|
|
|
only:
|
2018-12-29 13:55:06 +08:00
|
|
|
- master@commento/commento
|
2018-06-09 13:41:13 +08:00
|
|
|
before_script:
|
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
|
|
|
|
script:
|
2018-12-29 13:55:06 +08:00
|
|
|
- docker pull registry.gitlab.com/commento/commento:latest || true
|
|
|
|
- docker build --cache-from registry.gitlab.com/commento/commento:latest --tag registry.gitlab.com/commento/commento:latest .
|
|
|
|
- docker push registry.gitlab.com/commento/commento:latest
|
2018-09-26 15:52:16 +08:00
|
|
|
|
|
|
|
docker-registry-tags:
|
|
|
|
stage: docker-registry-tags
|
|
|
|
image: docker:stable
|
|
|
|
services:
|
|
|
|
- docker:dind
|
|
|
|
only:
|
|
|
|
- tags
|
|
|
|
before_script:
|
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
|
|
|
|
script:
|
2018-09-28 05:11:57 +08:00
|
|
|
- apk add git
|
2018-12-29 13:55:06 +08:00
|
|
|
- docker build --tag registry.gitlab.com/commento/commento:$(git describe --tags) .
|
|
|
|
- docker push registry.gitlab.com/commento/commento:$(git describe --tags)
|