Jenkins Pipeline+Docker实现流水线自动化构建(上百个项目共用一个脚本方案)

Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline。
对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括:

多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦。
Jenkins提供了一个更优雅的管理Pipeline脚本的方式,在配置项目Pipeline的时候,选择Pipeline script from SCM。
这样,Jenkins在启动job的时候,首先会去仓库里面拉取脚本,然后再运行这个脚本。在脚本里面,我们规定的构建方式和流程,就会按部就班地执行。
接下来我们来实践下。

        环境:Docker
        容器管理平台:Rancher
        语言:Java

**  Jenkins安装**
                略

**Pipeline插件安装**
            流水线插件
            系统管理--->管理插件--->可选插件--->搜索pipeline--->点击直接安装

  **extended choice parameter插件安装**:
    参数化构建过程,构建的时候可以多选框来选择要构建的项目模块
    系统管理--->管理插件--->可选插件--->搜索extended choice parameter---->点击直接安装

    新建一个pipeline的job
    点击参数构建化

    新建分支版本参数

    新建项目名称参数

    新建rancher id环境变量

  新建rancher应用分类

流水线配置   


Repositories Jenkinsfile脚本所在分支
Branches to build是Jenkinsfile所在分支

脚本




这边只要修改每个job的参数上面的某些变量即可,无需更改构建脚本,不管几个Job,都可共同一个脚本。
我这边只是举一个简单的例子,大家实际应用中,需要转变思路。


企业级Docker+Jenkins+Gitlab自动化构建实践

http://edu.51cto.com/course/14600.html

原文地址:http://blog.51cto.com/11243465/2157080

时间: 2024-10-28 11:49:28

Jenkins Pipeline+Docker实现流水线自动化构建(上百个项目共用一个脚本方案)的相关文章

Jenkins与Docker/Kubernetes的自动化CI/CD流水线实践--免费直播课等你来约

直播老师简介: 李振良·奇虎360-高级运维工程师,主要负责360浏览器业务运维.7年互联网运维工作经验,具备丰富的运维实战经验,曾主导容器云平台建设并将业务容器化部署 老师博客专栏地址:基于Kubernetes企业级容器云平台落地与实践 直播课内容大纲: 1.什么是CI/CD?2.Jenkins Pipeline2.Jenkins与Docker发布JAVA项目3.Jenkins与Kubernetes发布JAVA项目 直播时间: 2018年7月26日(本周四)晚8点30分--9点30分 QQ群直

使用Jenkins配置Git+Maven的自动化构建

背景 最近安装Jenkins,参照网上的各种资料进行尝试,折腾了好久,但是查找了这么多资料,相似度在90%以上!!!,相同的安装过程,测试了几台机器,未曾成功,不得不感慨自己能力有限,最终慢慢摸索,形成思路,现分享给大家,希望大家在安装的时候少走弯路. PS:本人很痛恨这种粘贴复制,毫无思考的博主,不但浪费了大家的时间,还浪费了大家的感情. 知识背景 首先需要理解的是,Jenkins是帮我们将代码进行统一的编译打包.还可以放到tomcat容器中进行发布. 意思是我们通过配置,将以前:编译.打包.

DockerHub基于Github自动化构建

Docker Hub上的自动化构建 关于自动化构建 自动化构建是一个特殊的功能,它允许您在 Docker Hub 上使用构建集群,根据指定的 Dockerfile 或者 GitHub . BitBucket 仓库(或环境)来自动创建镜像.该系统将从仓库复制一份,并根据以仓库为环境的 Dockerfile 的描述构建镜像.由此产生的镜像将被上传到注册表,并且自动生成标记. 自动化构建有许多优势: 你的自动化构建项目一定是准确按照预期构建的 在 Docker Hub 注册表上,任何拥有你仓库访问权限

用 Docker、Gradle 来构建、运行、发布一个 Spring Boot 应用

本文演示了如何用 Docker.Gradle 来构建.运行.发布来一个 Spring Boot 应用.Docker 简介Docker 是一个 Linux 容器管理工具包,具备"社交"方面,允许用户发布容器的 image (镜像),并使用别人发布的 image.Docker image 是用于运行容器化进程的方案,在本文中,我们将构建一个简单的 Spring Boot 应用程序.前置条件JDK 1.8+Gradle 2.3+Docker 最新版.有关 Docker 在的安装, 如果你的电

基于gulp搭建的前端自动化构建框架

Gulp-cli 基于gulp搭建的前端自动化构建.适用于中小型项目,快速构建前端项目框架. 项目启动 // 常用命令 项目编译: npm run build 项目编译并启动: npm run start 项目地址 如对你有帮助,希望给个Star !哈哈哈!! git clone [email protected].com:perfectSymphony/Gulp-cli.git 项目目录 ├── README.md # 项目说明 |-- bin # (在gulpfile文件中使用到)解析lay

Jenkins pipeline自动化构建审批功能

Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins.Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline. 对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括: 多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦.Jenkins提供了一个更优雅的管理Pipeline脚本的方式,在配置项目Pipeline的时候

Jenkins与Docker的自动化CI/CD流水线实战

Jenkins与Docker的自动化CI/CD流水线实战 标签(空格分隔): docker的部分 一:什么是CI/CD 二: 发布流程设计 三:部署Git仓库并上传测试代码 一:什么是CI/CD 持续集成(Continuous Integration,CI):代码合并.构建.部署.测试都在一起,不断地执行这个过程,并对结果反馈. 持续部署(Continuous Deployment,CD):部署到测试环境.预生产环境.生产环境. 持续交付(Continuous Delivery,CD):将最终产

jenkins + pipeline构建自动化部署

一.引言 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息以steps的方式放在一个脚本里,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程,形成流水式发布,构建步骤视图化.简单来说,Pipeline适用的场景更广泛,能胜任更复杂的发布流程.举个例子,job构建工作在master节点,自动化测试脚本在slave节点,这时候je

Docker微服务-Jenkins+Gitlab+Maven+Shell自动化构建实施案例

* 环境:CentOS7代码仓库:Gitlab持续集成代码更新:Jenkins构建打包:Maven镜像自动交付脚本:Shell 基础环境软件安装:Gitlab.Jenkins.Maven配置,安装参考网上,这里安装略,重点介绍项目持续集成和镜像交付.结合上一博文:https://blog.51cto.com/10874766/2353577这里配置了两个基础服务容器的自动化构建,一个常规业务服务容器的自动化构建,其他的容器服务持续集成类似操作,这不做重复操作. * 创建基础持续集成项目-conf