Jenkins 编译遇到的问题及解决方案

£神魔★判官ぃ 2023-01-16 11:19 315阅读 0赞

文章目录

    • Jenkinsfile: git rev-parse —abbrev-ref HEAD returns HEAD
    • Jenkins pipeline中获取 项目版本号
    • JenkinsFile Demo

Jenkinsfile: git rev-parse —abbrev-ref HEAD returns HEAD

通过 git rev-parse —abbrev-ref HEAD 获取分支名时,返回为 HEAD,

通过安装 Jenkins 插件, 直接获取通过 ${BRANCH_NAME} 获取

参考链接:

  • https://www.tikalk.com/posts/2017/05/21/how-to-evaluate-git-branch-name-in-a-jenkins-pipeline-using-gitscm/
  • https://stackoverflow.com/questions/47098342/jenkinsfile-git-rev-parse-abbrev-ref-head-returns-head
  • https://stackoverflow.com/questions/36304208/jenkins-workflow-checkout-accessing-branch-name-and-git-commit

Jenkins pipeline中获取 项目版本号

直接运行 mvn help:evaluate -Dexpression=project.version -q -DforceStdout 报错

获取 Project Version

  1. TMP_VERSION = sh (
  2. script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout',
  3. returnStdout: true
  4. ).trim()

参考链接

  • https://blog.csdn.net/zimou5581/article/details/94016158

JenkinsFile Demo

  1. #!/usr/bin/env groovy Jenkinsfile
  2. pipeline{
  3. agent { label "xinghai"}
  4. triggers {
  5. gitlab(triggerOnPush: false,
  6. triggerOnMergeRequest: false,
  7. branchFilterType: 'All',
  8. secretToken: 'vDn8pTRxavakBM7K4rFJ'
  9. )
  10. }
  11. environment {
  12. DEST_YARN_DIR = "/YARN/${BRANCH_NAME}"
  13. DEST_HDFS_DIR = "/HDFS/${BRANCH_NAME}"
  14. SRC_DIR="hadoop-dist/target/tmp"
  15. }
  16. stages {
  17. stage("get version and branch name") {
  18. steps {
  19. script {
  20. TMP_VERSION = sh (
  21. script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout',
  22. returnStdout: true
  23. ).trim()
  24. env.VERSION=TMP_VERSION
  25. echo "Project Branch: ${BRANCH_NAME} Version: ${TMP_VERSION}"
  26. echo "DEST_YARN_DIR: ${DEST_YARN_DIR}, DEST_HDFS_DIR: ${DEST_HDFS_DIR}"
  27. }
  28. }
  29. }
  30. stage("mvn package") {
  31. steps {
  32. sh "sh hadoop-build.sh"
  33. }
  34. }
  35. stage("push package") {
  36. steps {
  37. sh """ test -d ${DEST_YARN_DIR} || mkdir -p ${DEST_YARN_DIR} test -d ${DEST_HDFS_DIR} || mkdir -p ${DEST_HDFS_DIR} test -f ${DEST_YARN_DIR}/yarn-${VERSION}.tgz && rm -rf ${DEST_YARN_DIR}/yarn-${VERSION}.tgz test -f ${DEST_HDFS_DIR}//hadoop-${VERSION}.tgz && rm -rf ${DEST_HDFS_DIR}/hadoop-${VERSION}.tgz cp ${SRC_DIR}/hadoop-${VERSION}.tgz ${DEST_YARN_DIR}/yarn-${VERSION}.tgz cp ${SRC_DIR}/hadoop-${VERSION}.tgz ${DEST_HDFS_DIR}/hadoop-${VERSION}.tgz """
  38. }
  39. }
  40. }
  41. }

发表评论

表情:
评论列表 (有 0 条评论,315人围观)

还没有评论,来说两句吧...

相关阅读