关于Jenkins流水线(pipeline)

Jenkins 流水线 (pipeline) 是一套插件,让Jenkins可以实现持续交付管道的落地和实施。

关于blueocean

Blue Ocean是pipeline的可视化UI,本文中的demo暂时用不上blueocean,后续的文章中会用到;

系列文章地址

  1. https://xinchen.blog.csdn.net/article/details/100848333;
  2. https://xinchen.blog.csdn.net/article/details/100857361;

本篇实战概览

本文是《Jenkins流水线(pipeline)实战》系列的第一篇,本次实战的内容是部署好带有pipeline插件的Jenkins环境,然后创建流水线任务并执行,全文由以下几部分组成:

  1. 部署Jenkins;
  2. 体验pipeline;

环境信息

为了快速完成Jenkins部署,本次实战用到了Docker,请在实战前准备好以下环境:

  1. 操作系统:Ubuntu 18.04.2 LT
  2. Docker:19.03.1

本次使用的Jenkins版本是。

部署Jenkins

  1. 以root的身份登录Linux,新建一个文件夹,例如我这里是,进入此文件夹;
  2. 执行以下命令,即可创建好Jenkins环境:

docker run

-u root

-idt

--name blueocean

-p 8080:8080

-p 50000:50000

-v jenkins-data:/var/jenkins_home

-v /var/run/docker.sock:/var/run/docker.sock

jenkinsci/blueocean:1.19.0

上述命令参数中有几处需要注意:a. 镜像是:这是Jenkins官方的开源镜像(https://github.com/jenkinsci/blueocean-plugin ),里面已经集成了pipeline和blueocean,十分方便;b. :Jenkins容器在工作的时候,如果要执行Docker的命令(例如 docker ps、docker run等),需要有个途径能连接到宿主机的docker服务,此参数就是用来建立容器和宿主机docker服务的连接的,如果您想了解这方面的详情,请参考[《docker的/var/run/docker.sock参数》](https://blog.csdn.net/bolingcavalry/article/details/92846483);c. :将该容器的数据保留在宿主机的目录,这样即使容器崩溃了,里面的配置和任务都不会丢失;

  1. 执行命令 ,用于获取Jenkins容器的登录token,如下所示,控制台输出登录token为 :

root@hedy:~# docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword

a60f9aa5ebd4400e92886ca49d574198

  1. 用浏览器访问:http://192.168.50.75:8080 ,是宿主机IP地址,页面如下所示,在红框中填入刚才得到的登录token ,再点击右下角的"继续"按钮:
  1. 接下来的页面是让用户选择安装哪些插件,如下图,点击红框内部,安装官方推荐插件:
  1. Jenkins开始自动安装插件,如下图,需要您稍作等待:
  1. 插件安装完成后,会要求设置账号和密码,设置完毕后点击右下角的“保存并完成”按钮:
  1. 点击右下角的"保存并完成":
  1. 至此Jenkins环境已经部署完成,查看已安装的插件列表,发现pipeline和blueocean都已装好:

体验pipeline

环境准备完毕,我们来创建一个pipeline并运行试试:

  1. 如下图,点击红框中的"新建Item":
  1. 在页面表单上填写任务名称,再选择"流水线",如下图:
  1. 接下来会弹出详细设置的表单,如下图,选择"流水线"的Tab页,在页面上直接输入一段pipeline内容,再点击左下角的"保存"按钮:
  1. 上图红框3的源码如下:

pipeline {

agent any

stages {

stage('Stage 1') {

steps {

echo 'Hello world!'

}

}

}

}

  1. 点击下图红框中的"立即构建",即可执行刚才输入的pipeline脚本:
  1. 任务执行完毕后如下图所示,点击红框中的图标,即可查看本次任务执行过程中的控制台输出:
  1. 如下图,控制台打印了pipeline的信息:
  1. 至此,Jenkins环境已经准备完毕,接下来的实战将一起体验流水线的更多功能。

欢迎关注我的公众号:程序员欣宸

jenkins pipeline_Jenkins流水线(pipeline)实战之:从部署到体验相关推荐

  1. 基于K8S构建企业级Jenkins CI/CD平台实战(三) 之 带你实战Spring boot/Cloud 项目 CI/CD jenkins自动化构建、部署过程

    需要环境 Git(GitLab) Harbor 私服 kubernetes-plugin 使用 Kubernetes jenkins 通过前面三篇我们已经了解了jenkins和 kubernetes- ...

  2. gitlab 构建tag_Gitlab+Harbor+Jenkins pipeline实现利用tag部署docker容器

    环境 测试部署主机IP:192.168.1.1 Jenkins主机IP:192.168.1.2 Harbor主机IP:192.168.1.3 Gitlab主机IP:192.168.0.10 系统信息: ...

  3. jenkins pipeline脚本_Jenkins 创建流水线 (Pipeline) 项目的脚本

    前一段时间在做接口测试自动化方面的工作.现在整理下,接口测试国中学到的知识,做到边学边用到实践了.下面,介绍下,把接口测试项目集成到Jenkins,建立PIpeline项目. Pipeline 是一套 ...

  4. 【Go】K8s 管理系统项目[Jenkins Pipeline K8s环境–应用部署]

    K8s 管理系统项目[Jenkins Pipeline K8s环境–应用部署] 1. k8s-plantform-api-Pipeline 考虑到实际工作中前后端可能是不同的同学完成,一般Api部分完 ...

  5. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  6. Jenkins-流水线相关知识

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 什么是Jenkins的流水线? Jenkins 流水 ...

  7. 基于K8S构建企业级Jenkins CI/CD平台实战(一) 之 环境搭建

    一. 持续集成/部署/交付概述 持续集成(Continuous Integration,CI): 代码合并.构建.部署.测试都在一起,不断地执行这个过程,并对结果反馈. 持续部署(Continuous ...

  8. helm安装_Helm部署和体验jenkins

    运行在Kubernetes上的Jenkins 下图来自rancher官方博客,在kubernetes环境下,jenkins任务被交给各个pod执行,这些pod在需要时被创建,任务结束后被销毁,这样既能 ...

  9. OpenShift 4 Hands-on Lab (8) 基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在 OpenShift 4.8 环境中验证(OpenShift 4.9 环境的 Jenkins 版本较新,编译 Java 报错 ...

最新文章

  1. 洛谷P3960 列队(Splay)
  2. 1071 mysql_mysql 出现1071错误怎么办
  3. 2021-05-08 docker save与docker export的镜像区别
  4. jzoj1751-Span(每日C组)【并查集,贪心】
  5. 不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤
  6. GD32F103单片机内部FLASH按半字读写驱动
  7. 修改 jenkins 插件下载地址
  8. 从达特茅斯会议到图灵奖---人工智能学习分享
  9. STM32F103RCT6+BTN7971B+JGB37-520+PWM驱动电机
  10. it行业java_转行IT行业前景怎么样 为什么要选择Java开发
  11. 隔离,隔离,再隔离!
  12. Descriptors cannot not be created directly
  13. 交叉熵损失函数详解推导
  14. 数字签名技术及加密算法
  15. 机器学习——长短期记忆(LSTM)
  16. 《把时间当作朋友》第0章读后感
  17. ISP算法介绍--------super Good
  18. 充分利用Office:Office 2007 EnterPrise 企业版各软件介绍
  19. 制造业SCM系统的实施经验分享
  20. OOA/OOD/OOP的区别

热门文章

  1. “请求未在nginx中配置的域名时,给浏览器返回508错误码”配置示例
  2. C++中,如何定义和使用指向成员函数的指针
  3. SPLUNK 安装配置及常用语法
  4. oKit在项目管理方面能带来哪些好处
  5. 服务器每条消息都回复,如何理解PUSH消息送达成功率
  6. 二叉搜索树的后序遍历
  7. linux内核丢包分析工具,Linux模拟网络丢包与延迟的方法
  8. oracle rac 清理log,Oacle rac架构监听日志清理
  9. spring实战(第4版读书笔记)
  10. 剑指offer面试题[16]-反转链表