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 镜像到仓库。