Jenkins Pipeline 是一套支持在 Jenkins 中实现持续部署管道的插件。
Jenkins 支持一下方式创建 Jenkins Pipeline:
本文重点介绍使用 Jenkinsfile 创建 Jenkins Pipeline。
首页,点击 New Item 菜单项,输入 item name 选择 Pipeline 类型,点击 OK 按钮。
下拉菜单 Definition 选择 Pipeline script from SCM。
下拉菜单 SCM 选择 Git。
输入框 Repositories[].Repository URL 填写 Git 地址,下拉框 Repositories[].Credentials 选择 Git 用户名和密码。
输入框 Branches to build.Branch Specifier 填写 Git 分支名。
输入框 Script Path 填写 Jenkinsfile 路径。
点击 Save 按钮保存项目。
Jenkinsfile 支持两种方式:声明式和脚本式,脚本式使用了 Groovy 作为 DSL。
:point_down:是声明式 Pipeline 结构:
构建 Docker 镜像的:chestnut::
pipeline { agent any parameters { string(name: 'url', defaultValue: '', description:'Git 地址') choice(name: 'branch', choices: ['master', 'dev', 'test'], description:'分支') } stages { stage('ci') { steps { git( url: "${params.url}", branch: "${params.branch}", credentialsId: 'git' ) sh('mvn clean package -DskipTests') script { def image_name = "dyingbleed/${env.JOB_NAME}" def image_tag = "${env.BUILD_ID}" def image = docker.build("${image_name}:${image_tag}") withDockerRegistry([url: '', credentialsId: 'docker_hub']) { image.push() image.push('latest') } } } } } }
① 使用 Git 拉取最新的工程代码;
② 使用 Maven 构建 Java 工程;
③ 根据工程下 Dockerfile 构建 Docker 镜像;
④ 推送 Docker 镜像到仓库。