设为首页 收藏本站
查看: 1547|回复: 0

[经验分享] pipeline devops实例代码

[复制链接]
累计签到:86 天
连续签到:1 天
发表于 2019-2-20 16:22:56 | 显示全部楼层 |阅读模式
本帖最后由 zhuguojun6 于 2019-2-20 16:30 编辑

部署流程:
确认执行>>克隆代码>>获取代码信息>>sonarqube分析代码>>artifactory编译并上传交付物和编译信息>>调用部署任务



[Groovy] 纯文本查看 复制代码
node {
//   def server = Artifactory.server "artifactory_135"
//   def server = Artifactory.newServer url: 'artifactory-url', username: 'username', password: 'password'

   def server = Artifactory.newServer url: "http://172.17.195.136:8040/artifactory", credentialsId:'jfrog-artifactory'
   def rtMaven = Artifactory.newMavenBuild()
   def buildInfo 
   stage('Confirm') {
        timeout(time: 10, unit: 'SECONDS') {
             input 'Make Sure Start ?'
         }
   }



   stage ('clone') {
       checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '',locations: [[cancelProcessOnExternalsFail: true, credentialsId: 'bec8e94a-ae30-4e6d-9f87-c7ddff8ceffa', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'http://20.31.15.124/svn/other/quick4j']], quietOperation: true, workspaceUpdater: [$class: 'CheckoutUpdater']])
   }


   stage('code info') {
  //       pom_info = readMavenPom file: 'pom.xml'
  //       env.IMAGE = pom_info.getArtifactId()
  //       env.VERSION = pom_info.getVersion()
         env.GROUPID = readMavenPom().getGroupId()
         env.IMAGE = readMavenPom().getArtifactId()
         env.VERSION = readMavenPom().getVersion()
         echo "GROUPID:${GROUPID}"
         echo "IMAGE:${IMAGE}"
         echo "VERSION: ${VERSION}"
         currentBuild.description = "IMAGE: ${IMAGE} -- VERSION: ${VERSION}"
    }
    
   stage ('sonarqube') {
       withSonarQubeEnv ('sonarqube'){
           sh '''
           sonar-runner \
           -Dsonar.projectKey=${IMAGE} \
           -Dsonar.projectName=${IMAGE} \
           -Dsonar.projectVersion=${VERSION} \
           -Dsonar.sources=./src/main/ \
           -Dsonar.souceEncoding=utf-8 \
           -Dsonar.language=java \
           -Dsonar.java.binaries=./src/main/
           '''
 
       }
       sleep 5
       timeout(time: 1) { 
          def qg = waitForQualityGate() 
          if (qg.status != 'OK') {
            error "Pipeline aborted due to quality gate failure: ${qg.status}"
          }
       }

}




   stage('maven build') {
       rtMaven.tool = 'maven'
       rtMaven.resolver server: server,releaseRepo: 'maven' ,snapshotRepo:'maven-snapshot'
       rtMaven.deployer server: server,releaseRepo: 'generic-local' ,snapshotRepo:'generic-local-snapshot'
       buildInfo = rtMaven.run pom: 'pom.xml',  goals: 'clean package -Dmaven.test.skip=true'

     }

   stage('push build') {
         server.publishBuildInfo buildInfo

     }
   stage('deploy war') {
         build job: 'artifactory_deploy' ,parameters:[string(name:'GROUPID',value: "${GROUPID}"),string(name:'IMAGE',value: "${IMAGE}"),string(name:'VERSION',value: "${VERSION}")]


     }
}





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674947-1-1.html 上篇帖子: 搭建jenkins-13193181 下篇帖子: 有出这个视频资源的吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表