diff options
| author | Lu Qiuwen <[email protected]> | 2018-11-19 20:42:39 +0800 |
|---|---|---|
| committer | Lu Qiuwen <[email protected]> | 2018-11-19 20:52:18 +0800 |
| commit | e2d63205109c5fc70c6da353f1b9fab93654951d (patch) | |
| tree | 1dfe85750d61a3d603bf08aad59ed6b437da4ca4 | |
| parent | 0e08bc58411d5452403a5468f327396ec72583d8 (diff) | |
重新调整GitLab-CI脚本,增加自动更新rpm服务器的功能
| -rw-r--r-- | .gitlab-ci.yml | 132 |
1 files changed, 88 insertions, 44 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 55dc56a..2906593 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,70 +1,114 @@ image: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:master" -variables: +variables: GIT_STRATEGY: "clone" - -before_script: + +stages: +- build +- package +- deploy + +.build_before_script: + before_script: - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/ - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH -stages: - - build - - package - +.build_mrzcpd: + extends: .build_before_script + script: + - mkdir -p build + - cd build + - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$BUILD_PREFIX + - make + +.package_mrzcpd: + extends: .build_before_script + script: + - yum install -y rpm-build + - mkdir -p build + - cd build + - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$BUILD_PREFIX + - make package + +.deploy_to_package_server: + script: + - cp build/*.rpm $RPM_REPO_PATH + - createrepo --update $RPM_REPO_PATH + build-debug: stage: build + extends: .build_mrzcpd tags: - - mrzcpd - - centos-7.4.1708 - script: - - mkdir -p build - - cd build - - cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/opt/dpdk-17.05-debug - - make - + - mrzcpd + - centos-7.4.1708 + variables: + BUILD_TYPE: "Debug" + BUILD_PREFIX: "/opt/dpdk-17.05-debug" + build-release: stage: build + extends: .build_mrzcpd tags: - - mrzcpd - - centos-7.4.1708 - script: - - mkdir -p build - - cd build - - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=/opt/dpdk-17.05-rel - - make - + - mrzcpd + - centos-7.4.1708 + variables: + BUILD_TYPE: "RelWithDebInfo" + BUILD_PREFIX: "/opt/dpdk-17.05-rel" + package-debug: stage: package + extends: .package_mrzcpd tags: - - mrzcpd - - centos-7.4.1708 - script: - - yum install -y rpm-build - - mkdir -p build - - cd build - - cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/opt/dpdk-17.05-debug - - make package + - mrzcpd + - centos-7.4.1708 + variables: + BUILD_TYPE: "Debug" + BUILD_PREFIX: "/opt/dpdk-17.05-debug" artifacts: name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary" paths: - - build/*.rpm + - build/*.rpm only: - - tags - + - tags + package-release: stage: package + extends: .package_mrzcpd tags: - - mrzcpd - - centos-7.4.1708 - script: - - yum install -y rpm-build - - mkdir -p build - - cd build - - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=/opt/dpdk-17.05-rel - - make package + - mrzcpd + - centos-7.4.1708 + variables: + BUILD_TYPE: "RelWithDebInfo" + BUILD_PREFIX: "/opt/dpdk-17.05-rel" artifacts: name: "mrzcpd-$CI_COMMIT_REF_NAME-binary" paths: - - build/*.rpm + - build/*.rpm + only: + - tags + +deploy-debug: + stage: deploy + tags: + - package-server + dependencies: + - package-debug + variables: + GIT_STRATEGY: "none" + RPM_REPO_PATH: "/data/ci/repos/mrzcpd" + extends: .deploy_to_package_server + only: + - tags + +deploy_release: + stage: deploy + tags: + - package-server + dependencies: + - package-release + variables: + GIT_STRATEGY: "none" + RPM_REPO_PATH: "/data/ci/repos/mrzcpd" + extends: .deploy_to_package_server only: - - tags
\ No newline at end of file + - tags |
