• Docker快速创建一个单机版的Jenkins实例


     目录

    一、创建 Jenkins 实例

    二、Pipeline 项目

    三、总结


    谈到 CI/CD,那便少不了这里面的佼佼者 Jenkins,正如 Jenkins 官网说的一样:“Build great things at any scale”,构建伟大,无所不能!

    话不多说,该篇文章将会带你使用 Docker 快速创建一个单机版的 Jenkins 实例以及创建一个简单的 Pipeline 项目。

    一、创建 Jenkins 实例

    这里我们将使用 Docker 进行安装一个单机版的 Jenkins(这里假设你了解 Docker 等工具的使用):

    1. docker run -d --name jenkins \
    2. -p 50000:50000 \
    3. -p 8080:8080 \
    4. -v /srv/jenkins:/var/jenkins_home \
    5. -v /var/run/docker.sock:/var/run/docker.sock \
    6. -v /usr/bin/docker:/usr/bin/docker \
    7. -u root \
    8. --restart always \
    9. jenkins/jenkins:2.263.4

    也可以使用 DockerCompose 进行安装,创建 docker-compose.yaml 文件并添加以下内容,然后运行 docker-compose up -d

    1. version: '3.7'
    2. services:
    3. jenkins:
    4. image: jenkins/jenkins:2.263.4
    5. ports:
    6. - 50000:50000
    7. - 8080:8080
    8. volumes:
    9. - /srv/jenkins:/var/jenkins_home
    10. - /var/run/docker.sock:/var/run/docker.sock
    11. - /usr/bin/docker:/usr/bin/docker
    12. user: root
    13. restart: always
    14. container_name: jenkins

    解释下这里的一些运行选项:

    • ports
      • 50000:50000 用于集群部署
      • 8080:8080 用于浏览器访问
    • volumes
      • /srv/jenkins:/var/jenkins_home 主要数据目录
      • /var/run/docker.sock:/var/run/docker.sock 挂载宿主机的 docker 套接字文件
      • /usr/bin/docker:/usr/bin/docker 挂载宿主机的 docker 可执行文件
    • user: root 由于 jenkins 容器默认使用的是 jenkins 用户,而我使用的是 root 用户运行的,如果不加,将会因为权限不够无法读写目录 /srv/jenkins,这里当然也有其他办法解决这个问题,比如修改目录 /srv/jenkins 的权限给 jenkins 用户。

    这里挂载 docker 相关的文件是为了在执行流水线的时候可以使用 docker 环境。

    访问http://your_ip:8080便可以看到下面这个页面:

    这里需要一个 Administrator password 才可以继续安装,现在我们回到宿主机执行下面的命令获取它:

    1. # docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    2. dfd97892d82e43f18437ac628908b0b5

    这里我们选择安装推荐的插件:

    接下来便可以看到 Jenkins 在自动帮我们安装一些插件,包括常用的 GitPipeline 等:

    然后需要创建第一个用户:

    最后配置访问的地址,如果没有绑定域名的话,就直接默认即可:

    接下来就开始我们的 CI/CD 之旅吧!

     

    二、Pipeline 项目

    点击 New Item 创建我们的第一个 Pipeline 项目:

    编写 Pipeline 脚本,打印一行 Hello World

    1. pipeline {
    2. agent any
    3. stages {
    4. stage('Hello') {
    5. steps {
    6. echo 'Hello World'
    7. }
    8. }
    9. }
    10. }

    点击 Save 保存,然后点击 Build Now 立即运行,我们可以看到运行结果如下:

    三、总结

    本文主要针对刚接触 CI/CD 以及 Jenkins 的朋友们,介绍了如何基于 Docker 快速创建 Jenkins 实例,创建了一个简单的 Hello World 流水线项目,希望能帮助大家快速入门 Jenkins!

  • 相关阅读:
    Java 24 Design Pattern 之 原型模式
    java File类创建功能
    PIL.image保存图片
    STM32的DAC
    FFplay文档解读-19-音频过滤器四
    Win11用户名和密码备份方法
    iOS App Tech Support(URL)
    稳定的排序算法:直接插入排序和冒泡排序 (c++实现)
    Python 图形化界面基础篇:处理鼠标事件
    html在线商城购物网站制作——基于HTML+CSS+JavaScript鲜花礼品电商网站
  • 原文地址:https://blog.csdn.net/wqda125/article/details/130433630