• Windows Docker 部署 Jenkins


    一、简介

    今天介绍一下在 Windows Docker 中部署 Jenkins 软件。在 Windows Docker 中,分为两种情况 Linux 容器和 Windows 容器。Linux 容器是通常大多数使用的方式,Windows 容器用于 CI/CD 依赖 Windows 环境的情况。

    二、Linux 容器

    Linux 容器内部署的 Jenkins 服务,大多数构建 CI/CD 使用这种场景,这里就不做过多介绍了。

    2.1 部署 Jenkins

    打开 Docker Desktop,切换到 Linux 容器,然后在 PowerShell 执行下面命令,即可部署一个 Jenkins 服务。这里安装的是 2.447 Tag 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 中进行查找。

    docker run -d -p 8080:8080 --restart always --name jenkins-2.447 -e LANG=C.UTF-8 -v C:\ProgramDatas\Docker\Containers\jenkins-2.447:/var/jenkins_home jenkins/jenkins:2.447
    
    • 1

    -参数 --restart always 在容器退出时总是重启容器。
    -参数 -v C:\ProgramDatas\Docker\Containers\jenkins-2.447:/var/jenkins_home 将容器内的 /var/jenkins_home 映射到物理机的 C:\ProgramDatas\Docker\Containers\jenkins-2.447 文件夹。

    在这里插入图片描述

    2.2 Jenkins 目录映射

    Docker 内的 Jenkins 容器,需要映射到物理机进行数据持久化,如下可以看到 Jenkins 容器内的 /var/jenkins_home 成功映射到了物理机的 C:\ProgramDatas\Docker\Containers\jenkins-2.447 目录。
    在这里插入图片描述

    2.3 初始化 Jenkins

    浏览器内使用 8080 端口 http://localhost:8080/ 进行访问,第一次访问需要初始化会比较慢,需要两三分钟吧。看到如下 Unlock Jenkins 界面,需要输入容器内 /var/jenkins_home /secrets/initialAdminPassword 文件中的密码。因为进行了目录映射,所以找物理上的 C:\ProgramDatas\Docker\Containers\jenkins-2.447\secrets\initialAdminPassword 文件内容输入即可。
    在这里插入图片描述
    在这里插入图片描述
    插件安装,通常选择推荐即可,自定义也可以,按需选择。
    在这里插入图片描述
    在这里插入图片描述
    等待插件安装完成后,输入设置 admin 用户信息,根据自己的需求命名即可。
    在这里插入图片描述
    在这里插入图片描述
    初始化到这一步,我们的 Jenkins 就安装完成了。
    在这里插入图片描述

    三、Windows 容器

    Windows 容器内部署的 Jenkins,通常用作 CI/CD 依赖于Windows 环境的场景。比如 Microsoft 的 DotNet Framework 平台开发的程序,在使用 Jenkins 构建 CI/CD 时,依赖于 Windows 环境。

    3.1 部署 Jenkins

    打开 Docker Desktop 切换到 Windows 容器,然后在 PowerShell 执行下面命令,即可部署一个 Jenkins 服务。这里安装的是 windowsservercore-ltsc2019 Tag 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 中进行查找。

    docker run -d -p 8080:8080 --restart always --name jenkins_windowsservercore-ltsc2019 -e LANG=C.UTF-8 -v C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019:C:\ProgramData\Jenkins\JenkinsHome jenkins/jenkins:windowsservercore-ltsc2019
    
    • 1

    -因为 Windows 容器的镜像,通常情况下,基础镜都像比较大,所以第一次下载部署需要点时间,取决于网络速度。
    参数 --restart always 在容器退出时总是重启容器。
    -参数 -v C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019:C:\ProgramData\Jenkins\JenkinsHome 将容器内的 C:\ProgramData\Jenkins\JenkinsHome 映射到物理机的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019 文件夹。

    在这里插入图片描述
    如果需要进入容器内,可以执行下面两个命令,一个是进入 cmd,另一个是进入 powershell。

    docker container exec -it jenkins_windowsservercore-ltsc2019 cmd
    docker container exec -it jenkins_windowsservercore-ltsc2019 powershell
    
    • 1
    • 2

    3.2 Jenkins 目录映射

    Docker 内的 Jenkins 容器,需要映射到物理机进行数据持久化,如下可以看到容器内的 C:\ProgramData\Jenkins\JenkinsHome 成功映射到了物理机的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019 目录。
    在这里插入图片描述

    3.3 初始化 Jenkins

    浏览器内使用 8080 端口 http://localhost:8080/ 进行访问,第一次访问初始化会比较慢,需要两三分钟吧。看到如下界面,解锁 Jenkins 需要输入容器内xxx\secrets\initialAdminPassword 文件中的密码。因为进行了目录映射,所以找物理上的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019\secrets\initialAdminPassword 文件内容输入即可。
    在这里插入图片描述
    在这里插入图片描述
    插件安装,通常选择推荐即可,自定义也可以,按需选择。
    在这里插入图片描述
    在这里插入图片描述
    等待插件安装完成后,输入设置 admin 用户信息,根据自己需求命名即可。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    初始化到这一步,我们的 Jenkins 就安装完成了。
    在这里插入图片描述

  • 相关阅读:
    JavaEE初阶——Linux(基础指令)
    飞行动力学 - 基础点摘要整理
    web环境实现一键式安装启动
    爱上开源之DockerUI-xterm.js实现Web控制台
    Web开发-登录页面设计流程
    BDD - SpecFlow BDD 测试实践 SpecFlow + SpecRun
    windows局域网共享文件
    手把手教你做一个天猫精灵(五、尝试抓取智能家居数据)
    内存占用构造方法
    Win10下使用WinSCP+PuTTY实现远程文件操作和终端访问
  • 原文地址:https://blog.csdn.net/weixin_46785144/article/details/136396153