zoukankan      html  css  js  c++  java
  • Jenkins流水线(pipeline)实战之:从部署到体验

    关于Jenkins流水线(pipeline)

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

    关于blueocean

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

    系列文章地址

    1. 《Jenkins流水线(pipeline)实战之:从部署到体验》
    2. 《让Jenkins执行GitHub上的pipeline脚本》

    本篇实战概览

    本文是《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

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

    3. 执行命令 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
    

    4. 用浏览器访问:http://192.168.50.75:8080 ,192.168.50.75是宿主机IP地址,页面如下所示,在红框中填入刚才得到的登录token a60f9aa5ebd4400e92886ca49d574198,再点击右下角的"继续"按钮:

    在这里插入图片描述
    6. 接下来的页面是让用户选择安装哪些插件,如下图,点击红框内部,安装官方推荐插件:
    在这里插入图片描述
    7. Jenkins开始自动安装插件,如下图,需要您稍作等待:
    在这里插入图片描述
    8. 插件安装完成后,会要求设置账号和密码,设置完毕后点击右下角的“保存并完成”按钮:
    在这里插入图片描述
    9. 点击右下角的"保存并完成":
    在这里插入图片描述
    10. 至此Jenkins环境已经部署完成,查看已安装的插件列表,发现pipeline和blueocean都已装好:
    在这里插入图片描述

    体验pipeline

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

    1. 如下图,点击红框中的"新建Item":
      在这里插入图片描述
    2. 在页面表单上填写任务名称,再选择"流水线",如下图:
      在这里插入图片描述
    3. 接下来会弹出详细设置的表单,如下图,选择"流水线"的Tab页,在页面上直接输入一段pipeline内容,再点击左下角的"保存"按钮:
      在这里插入图片描述
      上图红框3的源码如下:
    pipeline {
        agent any 
        stages {
            stage('Stage 1') {
                steps {
                    echo 'Hello world!' 
                }
            }
        }
    }
    
    1. 点击下图红框中的"立即构建",即可执行刚才输入的pipeline脚本:
      在这里插入图片描述
    2. 任务执行完毕后如下图所示,点击红框中的图标,即可查看本次任务执行过程中的控制台输出:
      在这里插入图片描述
    3. 如下图,控制台打印了pipeline的信息:
      在这里插入图片描述
      至此,Jenkins环境已经准备完毕,接下来的实战将一起体验流水线的更多功能。

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

    在这里插入图片描述

  • 相关阅读:
    天生我牛必有用
    struts1.x+spring2.5+JPA(hibernate)整合
    Struts2拦截器
    使用Apache的commonscodes加密
    解放鞋 Ospop解放鞋
    告别2008 明天2009
    异常java.lang.UnsupportedClassVersionError: Bad version number in .class file
    C#中的Process类使用
    C#中使用MD5加密
    Struts2 Action(1)
  • 原文地址:https://www.cnblogs.com/bolingcavalry/p/11525901.html
Copyright © 2011-2022 走看看