一、Jenkinsfile理解
Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中(即把Jenkinsfile文件放到gitlab的代码仓库中,Jenkins构建任务时,拉取该仓库到本地,然后读取Jenkinsfile的内容,执行相关的步骤)。
二、实验目的
通过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}}}}
}
2、在gitlab myblog 中创建Dockerfile文件与deploy文件夹的app.yaml(具体内容省略)
3、把以上创建的文件与文件夹推送到gitlab仓库
四、Jenkins操作步骤
1、在项目中选择"Pipeline script from SCM"
2、选择我们要拉取的代码