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} - cp Dockerfile ${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