zoukankan      html  css  js  c++  java
  • Docker 安装 Jenkins

    本文将介绍 Jenkins 初学者如何在学习环境使用 Docker 能够快速安装 Jenkins,本文内容不适用于生产环境。

    1 Jenkins 的 Docker 镜像

    Docker 官方曾经提供了 Docker 镜像的安装镜像,镜像名直接就是 jenkins,但 Docker 官方提供的镜像几年前就不维护了。如果使用 Docker 官方提供的镜像,只能使用老版本的 Jenkins,会导致有些插件不能正常安装。所以,我们应该使用 Jenkins 官方提供了镜像,镜像名 jenkins/jenkins

    Jenkins 官方提供的 Docker 镜像仓库地址:https://hub.docker.com/r/jenkins/jenkins,镜像的源码和用法在 Github 上:https://github.com/jenkinsci/docker。

    2 运行装有 Jenkins 的 Docker 容器

    最基本的运行命令如下,它会启动一个安装有最新版本 Jenkins 的 Docker 容器,将宿主机的 8080 端口映射到容器的 8080 端口,宿主机的 5000 端口映射到容器的 5000 端口。

    docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
    

    但上面这条命令没有将 Jenkins 的数据持久化,关闭容器之后数据就丢失了。因此需要容器中 Jinkins 的数据保存到卷中。如下命令在后台(-d)启动了一个容器,并将容器中 Jenkins 的数据放到卷jenkins_home中;这样,重启容器之后还能够保留数据。

    docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
    

    3 登录 Jenkins

    Docker 容器启动之后就可以通过浏览器访问 Jenkins 了,访问的地址是:http://localhost:8080,刚才映射的宿主机端口是 8080。Jenkins 在启动时会在控制台打印初始密码,这个密码在首次进入页面时需要用到。

    可以通过 Docker Desktop 查看控制台输出。

    使用密码进入之后,提示安装初始插件。

    根据需要选择安装推荐插件(左边)或者自己选择要安装的插件(右边)即可。下图为选择安装推荐插件之后的结果。

    插件安装成功之后自动进入设置 Admin 密码页面,按照提示设置密码等信息。最终进入到如下页面,此时可以添加程序了。

    4 运行 Hello World

    点击 [Create a Job],进入如下页面,填入管道名称 "hello-world",选择 "Pipeline",点击 [ok],进入管道配置页面。

    在管道配置页面的 "Pipeline" 框中填入如下内容,然后点击 [Save],保存配置并进入 hello-world 管道页面。

    pipeline{
        agent any
        stages{
            stage('Print Hello World'){
                steps{
                    echo 'Hello, beautiful Wolrd.'
                }
            }
        }
    }
    

    配置完成之后就可以运行管道了。在 hello-world 管道页面点击 [Build Now] 运行管道。

    因为管道任务很短,管道很快就能运行完成,可以通过点击 [Console Output] 看到输出的内容。

    Started by user Roots
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] Start of Pipeline
    [Pipeline] node
    Running on Jenkins in /var/jenkins_home/workspace/hello-world
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Print Hello World)
    [Pipeline] echo
    Hello, beautiful Wolrd.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    Finished: SUCCESS
    
  • 相关阅读:
    05流程图和流程定义的操作
    04启动流程实例,任务的查询与完成
    03流程图的绘制与部署
    02数据库表的初始化方式
    01环境安装
    JavaScript基础和JavaScript内置对象:
    用手机、pid作为win电脑扩展屏
    H5新增特性之语义化标签
    盒模型
    CSS定位总结--static、relative、absolute、fixed
  • 原文地址:https://www.cnblogs.com/robothy/p/14453080.html
Copyright © 2011-2022 走看看