Jenkins Jenkinsfile管理 Pipeline script from SCM

一、Jenkinsfile理解


Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中(即把Jenkinsfile文件放到gitlab的代码仓库中,Jenkins构建任务时,拉取该仓库到本地,然后读取Jenkinsfile的内容,执行相关的步骤)。
 

Jenkins Jenkinsfile管理 Pipeline script from SCM_第1张图片

Jenkins Jenkinsfile管理 Pipeline script from SCM_第2张图片

 

 

二、实验目的


通过Jenkinsfile文件,控制Jenkins版本发布,首先拉取指定的远程仓库文件到jenkins节点服务器上, 然后获取仓库文件下的Jenkinsfile文件内容,执行里面相关的内容,如:
1、打印当前的环境变量
2、构建镜像
3、创建deployment 

 

 

三、整理myblog 项目仓库内容


1、在gitlab myblog项目中新建Jenkinsfile文件,内容如下: 

pipeline {
    agent { label '10.3.153.202'}      #指定在那台Jenkins节点上运行
    stages {
        stage('更新开始') {
            steps {
                echo '更新开始'
                sh 'printenv'
            }
        }
        stage('build-image') {
            steps {
                retry(2) { sh 'docker build . -t myblog:latest'}    #构建镜像
            }
        }
        stage('deploy') {
            steps {
                timeout(time: 1, unit: 'MINUTES') {sh "kubectl apply -f deploy/"     #创建deployment
                }
            }
        }
    }
}

Jenkins Jenkinsfile管理 Pipeline script from SCM_第3张图片

2、在gitlab myblog 中创建Dockerfile文件与deploy文件夹的app.yaml(具体内容省略) 

Jenkins Jenkinsfile管理 Pipeline script from SCM_第4张图片

3、把以上创建的文件与文件夹推送到gitlab仓库

Jenkins Jenkinsfile管理 Pipeline script from SCM_第5张图片

 

 

 

四、Jenkins操作步骤


1、在项目中选择"Pipeline script from SCM" 

Jenkins Jenkinsfile管理 Pipeline script from SCM_第6张图片

2、选择我们要拉取的代码

Jenkins Jenkinsfile管理 Pipeline script from SCM_第7张图片

你可能感兴趣的:(Devops,CI/CD,Jenkins,jenkins)