pipeline代码案例
---
variables:
GIT_SUBMODULE_STRATEGY: recursive
stages:
- detection_Build
- detection_Make_Tar
detection_build:
stage: detection_Build
script:
- cargo build --release --offline
artifacts:
expire_in: 10 mins
paths:
- target
when: manual
only:
- /^[a-zA-Z].*/(develop|bugfix|hotfix)/.*$/
- master
detection_tarfile:
stage: detection_Make_Tar
needs:
- [detection_build]
before_script:
- if [ ! -d "$CI_BUILDS_DIR/Packages/$CI_PROJECT_NAME" ];then
- mkdir -pvm 755 $CI_BUILDS_DIR/Packages/$CI_PROJECT_NAME
- fi
script:
- if [ -d ./target ];then
- tar -zcf "$CI_PROJECT_NAME"_"$CI_COMMIT_SHA".tar.gz ./target
- if [ $? -eq 0 ];then
- mv "$CI_PROJECT_NAME"_"$CI_COMMIT_SHA".tar.gz $CI_BUILDS_DIR/Packages/$CI_PROJECT_NAME
- if [ $? -eq 0 ];then
- echo "`date +%Y-%m-%d" "%H:%M:%S` $CI_COMMIT_REF_NAME "$CI_PROJECT_NAME"_"$CI_COMMIT_SHA".tar.gz 拷贝$CI_BUILDS_DIR/Packages/$CI_PROJECT_NAME成功"
- else
- echo "`date +%Y-%m-%d" "%H:%M:%S` $CI_COMMIT_REF_NAME "$CI_PROJECT_NAME"_"$CI_COMMIT_SHA".tar.gz 拷贝$CI_BUILDS_DIR/Packages/$CI_PROJECT_NAME失败"
- exit
- fi
- else
- echo "`date +%Y-%m-%d" "%H:%M:%S` $CI_COMMIT_REF_NAME "$CI_PROJECT_NAME"_"$CI_COMMIT_SHA".tar.gz 打包失败"
- exit
- fi
- else
- echo "`date +%Y-%m-%d" "%H:%M:%S` $CI_COMMIT_REF_NAME $CI_COMMIT_SHA 编译失败"
- exit
- fi
dependencies:
- detection_build
only:
- /[a-z]+/(?:task|story|bugfix|hotfix|develop)/[A-Z]+-[0-9]+|release-[0-9]{4}|master|CI_DEVELOP\\w*/