jinkens持续化部署--小试牛刀

Docker安装jenkins

参考链接:https://www.jianshu.com/p/64a0b1be55b2

 

 

持续集成(CI)

软件开发中,集成是一个很可能发生未知错误的过程。持续集成是一种软件开发实践,希望团队中的成员频繁提交代码到代码仓库,且每次提交都能通过自动化测试进行验证,从而使问题尽早暴露和解决。

持续集成的好处是什么?

持续集成可以使问题尽早暴露,从而也降低了解决问题的难度,正如老马所说,持续集成无法消除bug,但却能大大降低修复的难度和时间。

持续交付(CD)

在持续集成的基础,将代码部署到类似生产环境的测试环境上,进行测试。

Jenkins团队一开始实现Jenkins pipline时,Groovy语言被选择作为基础来实现pipline.

 

pipline语法

虽然Groovy同时支持静态类型与动态类型,但是定义变量习惯使用def关键词

//支持命名参数
def createName(String givenName,String familyName){
    return givenName + " " +familyName;
}

//调用时
createName familyName = "Lee",givenName = "Bruce"

//支持默认参数
def sayHello(string name = "dahua"){
    printf "hello ${name}"
}

sayHello()

支持单引号 双引号 但是单引号不能插值
"hello ${name}"
'hello ${name}' //不支持

支持三引号 三双引号
def name = 'world'
def aString = '''
    line two
    line three
'''

def name = "world"
def aString = """
    line two
    line three
"""

支持闭包
def codeBlock = {print "hello closure"}
//可作函数调用
codeBlock() //结果打印: hello closure
def pipeline(closure){
    closure()
}
//可做参数传递
pipeline(codeBlock)
//如果把闭包定义语句去掉
pipline {
    print "hello world"
}

pipline组成

流水线的内容包括执行编译、打包、测试、输出测试结果。

设计最简单的pipline

pipeline{
    agent any
    stages{
        stage('build'){
            steps{
                echo "Hello World"
            }    
        }
    }
}

pipeline代表整条流水线的逻辑

stage 部分代表流水线的阶段。每个阶段必须有名称

stages 流水线中多个stage容器,必须包含一个stage

steps 代表一个或多个具体步骤,steps部分至少包含一个步骤,echo就是一个步骤。一个stage里面有且只有一个steps

agent 指定流水线执行未知(物理机 虚拟机 docker)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值