Jenkins + Pipeline 构建流水线发布

原创 2017年08月22日 16:38:40

Jenkins + Pipeline 构建流水线发布

  • 利用Jenkins的Pipeline配置发布流水线

参考: https://jenkins.io/doc/pipeline/tour/deployment/

pipeline

新建一个名为pipeline-loop的 pipeline项目,然后配置,关键配置如下:

  • 生成pipeline可以用的git连接(通过此链接,从私有gitlab拉取代码)

Pipeline生成: https://jenkins.aniu.so/view/Pipeline/job/pipeline-loop/pipeline-syntax/

pipeline-syntax

生成的pipeline代码如下,后面配置会用到:

checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '500378f5-a6e4-4255-984e-61537fe0e455', url: 'git@gitlab.aniu.so:aniu-yunwei/game-of-life.git']]])
  • 配置pipeline-loop项目
pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                echo 'Checkout'
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '500378f5-a6e4-4255-984e-61537fe0e455', url: 'git@gitlab.aniu.so:aniu-yunwei/game-of-life.git']]])
            }
        }        
        stage('Build') {
            steps {
                echo 'Building'
                sh 'mvn clean install' # 可以用自己的 mvn clean deploy + 参数替代
            }
        }
        stage('Test') {
            steps {
                echo 'Testing'
                sh 'mvn clean verify sonar:sonar' # 此处可以使用mvn test替代,笔者这步是检测代码的质量同步到自己的代码质量检测平台。
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying'
                sh 'mvn clean deploy'  # 此处调用脚本或者ansible、saltstak,部署到远程
            }
        }
    }
}

配置完成保存,然后build此项目,查看结果如下:

pipeline-test

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。

初试Jenkins2.0 Pipeline持续集成

Jenkins 2.0的精髓是Pipeline as Code,是帮助Jenkins实现CI到CD转变的重要角色。Pipeline就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多...

Jenkins Pipeline 项目持续集成交互实践路径

Jenkins 2.x的精髓是Pipeline as Code,是帮助Jenkins实现CI到CD转变的重要角色。什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独...
  • boonya
  • boonya
  • 2017年09月12日 10:38
  • 1378

Jenkins实现持续集成中的那些坑

小伙伴在《这些年我们一起搞过的持续集成~Jenkins+Perland Shell script》中详细介绍了优化后的job流,接下来总结一下在构建这一套job中遇到的Shell  Script和Je...
  • chndata
  • chndata
  • 2015年04月03日 10:46
  • 7640

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]标签(空格分隔): Jenkins一、代码流水线管理  Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目。...

Jenkins全流程搭建

第 1 章 概 述  持续集成(CI)是一种实践,旨在缓和和稳固软件的构建过程。持续集成最早由Martin Fowler 于10年前已经提出,希望通过持续集成能够实现以下过程: Ø  任何人在任何地点...

持续集成工具:Jenkins

在DevOps的工具链中,有人曾说过唯一不可替换的就是持续集成的工具Jenkins。目前使用较多的可以与之抗衡的是hudson,但是jenkins和hudson,仅仅是被oracle收购之后产生的副作...

Jenkins加Shell实现最简单的持续部署

大量的有关持续集成的书籍与文档中,基本都提到了持续部署这个步骤,然而具体怎么实现,并没有通行的做法,对于典型的Java Web应用来说,大致有两个思路,一是通过web容器(如Tomcat、JBoss...

【Jenkins】Pipeline使用进阶

无所不能,无所不及的Pipeline 得益于Jenkins内嵌的Groovy支持,加上丰富的Step库,通过编写自定义Pipeline脚本你几乎可以实现任何复杂的构建、发布流程。下面简单谈谈使用...

jenkins插件pipeline的简单使用

pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个。下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 一、安装pipeline 进入jenkins的【系统管理】...

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成] Jenkins 一、代码流水线管理   Pipeline名词顾名思义就是流水线的意思,因为公司可能会...
  • workdsz
  • workdsz
  • 2017年09月12日 15:18
  • 156
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jenkins + Pipeline 构建流水线发布
举报原因:
原因补充:

(最多只允许输入30个字)