48 lines
No EOL
1 KiB
YAML
48 lines
No EOL
1 KiB
YAML
stages:
|
|
- build
|
|
# - test
|
|
- package
|
|
|
|
variables:
|
|
BUILD_DIR: "build"
|
|
CMAKE_OPTIONS: ""
|
|
DOCKER_IMAGE_NAME: "short-link-backend"
|
|
DOCKER_IMAGE_TAG: "latest"
|
|
|
|
build_job:
|
|
stage: build
|
|
image: gcc:latest
|
|
script:
|
|
- apt-get update -y
|
|
- apt-get install -y --no-install-recommends cmake libboost-all-dev
|
|
- mkdir -p ${BUILD_DIR}
|
|
- cd ${BUILD_DIR}
|
|
- cmake .. ${CMAKE_OPTIONS}
|
|
- make -j$(nproc)
|
|
artifacts:
|
|
paths:
|
|
- ${BUILD_DIR}
|
|
expire_in: 1 hour
|
|
tags:
|
|
- docker
|
|
|
|
# test_job:
|
|
# stage: test
|
|
# image: gcc:latest
|
|
# script:
|
|
# - cd ${BUILD_DIR}
|
|
# - ctest --output-on-failure
|
|
|
|
package_job:
|
|
stage: package
|
|
script:
|
|
- docker build -t ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} ${BUILD_DIR}
|
|
- docker save ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} -o ${DOCKER_IMAGE_NAME}.tar
|
|
only:
|
|
- main
|
|
artifacts:
|
|
expire_in: "1 days"
|
|
paths:
|
|
- ${DOCKER_IMAGE_NAME}.tar
|
|
tags:
|
|
- shell |