Jenkins流水线(pipeline)实战之:从部署到体验

简介: 部署和体验Jenkins流水线(pipeline)

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos

关于Jenkins流水线(pipeline)

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

关于blueocean

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

系列文章地址

  1. 《Jenkins流水线(pipeline)实战之:从部署到体验》
  2. 《让Jenkins执行GitHub上的pipeline脚本》
  3. 《Jenkins把GitHub项目做成Docker镜像》

本篇实战概览

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

环境信息

  • 为了快速完成Jenkins部署,本次实战用到了Docker,请在实战前准备好以下环境:
  1. 操作系统:Ubuntu 18.04.2 LT
  2. Docker:19.03.1
  • 本次使用的Jenkins版本是2.176.3

部署Jenkins

  • 以root的身份登录Linux,新建一个文件夹,例如我这里是/root/blueocean,进入此文件夹;
  • 执行以下命令,即可创建好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. 镜像是jenkinsci/blueocean:1.19.0:这是Jenkins官方的开源镜像(https://github.com/jenkinsci/blueocean-plugin ),里面已经集成了pipeline和blueocean,十分方便;
b. -v jenkins-data:/var/jenkins_home:将该容器的数据保留在宿主机的目录,这样即使容器崩溃了,里面的配置和任务都不会丢失;
c. -v /var/run/docker.sock:/var/run/docker.sock:Jenkins容器在工作的时候,如果要执行Docker的命令(例如 docker ps、docker run等),需要有个途径能连接到宿主机的docker服务,此参数就是用来建立容器和宿主机docker服务的连接的,如果您想了解这方面的详情,请参考《docker的/var/run/docker.sock参数》

  • 执行命令 docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword,用于获取Jenkins容器的登录token,如下所示,控制台输出登录token为 a60f9aa5ebd4400e92886ca49d574198
root@hedy:~# docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword
a60f9aa5ebd4400e92886ca49d574198
  • 用浏览器访问:http://192.168.50.75:8080 ,192.168.50.75是宿主机IP地址,页面如下所示,在红框中填入刚才得到的登录token a60f9aa5ebd4400e92886ca49d574198,再点击右下角的"继续"按钮:

在这里插入图片描述

  • 接下来的页面是让用户选择安装哪些插件,如下图,点击红框内部,安装官方推荐插件:

在这里插入图片描述

  • Jenkins开始自动安装插件,如下图,需要您稍作等待:

在这里插入图片描述

  • 插件安装完成后,会要求设置账号和密码,设置完毕后点击右下角的“保存并完成”按钮:

在这里插入图片描述

  • 点击右下角的"保存并完成":

在这里插入图片描述

  • 至此Jenkins环境已经部署完成,查看已安装的插件列表,发现pipeline和blueocean都已装好:

在这里插入图片描述

体验pipeline

  • 环境准备完毕,我们来创建一个pipeline并运行试试:
  • 如下图,点击红框中的"新建Item":

在这里插入图片描述

  • 在页面表单上填写任务名称,再选择"流水线",如下图:

在这里插入图片描述

  • 接下来会弹出详细设置的表单,如下图,选择"流水线"的Tab页,在页面上直接输入一段pipeline内容,再点击左下角的"保存"按钮:

在这里插入图片描述

  • 上图红框3的源码如下:
pipeline {
    agent any 
    stages {
        stage('Stage 1') {
            steps {
                echo 'Hello world!' 
            }
        }
    }
}
  • 点击下图红框中的"立即构建",即可执行刚才输入的pipeline脚本:

在这里插入图片描述

  • 任务执行完毕后如下图所示,点击红框中的图标,即可查看本次任务执行过程中的控制台输出:

在这里插入图片描述

  • 如下图,控制台打印了pipeline的信息:

在这里插入图片描述

  • 至此,Jenkins环境已经准备完毕,接下来的实战将一起体验流水线的更多功能。

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
7月前
|
Kubernetes jenkins 持续交付
Artifact Hub在Kubernetes中的应用:部署Jenkins的脚本整理
以上步骤断言清晰明确地描述了如何通过Artifact Hub 使用Helm图表来部署Kubernetes 中得Jenkis 实例,并且提供了相应得Shell 脚本作为执行指南. 这样不但能够帮助用户快速地进行操作, 同时也能够通过自定义参数来满足不同用户需求.
201 5
存储 jenkins 持续交付
882 2
|
8月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
946 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
9月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
463 0
|
jenkins Java Linux
Jenkins环境的部署及任务构建
以上就是Jenkins环境的部署及任务构建的全部内容。希望可以帮助你轻松上手Jenkins,让你的CI/CD之旅更加顺畅!
791 68
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
325 5
|
监控 前端开发 jenkins
Jenkins 在前端项目持续部署中的应用,包括其原理、流程以及具体的实现方法
本文深入探讨了Jenkins在前端项目持续部署中的应用,涵盖其基本原理、流程及具体实现方法。首先介绍了Jenkins的基本概念及其在自动化任务中的作用,随后详细解析了从前端代码提交到生产环境部署的全过程,包括构建、测试、部署等关键步骤。最后,强调了持续部署中的代码质量控制、环境一致性、监控预警及安全管理等注意事项,旨在帮助开发者高效、安全地实施持续部署。
425 5
|
Devops API
阿里云效流水线API简单使用
阿里云效流水线API简单使用
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之流水线构建出现问题,连接不到nuget,该如何处理
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
Java 应用服务中间件 测试技术
阿里云云效产品使用合集之云效流水线如何使用alb ingress的脚本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

推荐镜像

更多