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

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

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

一、创建 Jenkins 实例

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

python 复制代码
docker run -d --name jenkins \
  -p 50000:50000 \
  -p 8080:8080 \
  -v /srv/jenkins:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -u root \
  --restart always \
  jenkins/jenkins:2.263.4

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

python 复制代码
version: '3.7'
services:
  jenkins:
    image: jenkins/jenkins:2.263.4
    ports:
      - 50000:50000
      - 8080:8080
    volumes:
      - /srv/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
    user: root
    restart: always
    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 才可以继续安装,现在我们回到宿主机执行下面的命令获取它:

python 复制代码
# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
dfd97892d82e43f18437ac628908b0b5

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

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

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

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

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

二、Pipeline 项目

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

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

python 复制代码
pipeline {
    agent any
 
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

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

三、总结

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
雪可问春风14 小时前
docker环境部署
运维·docker·容器
llilian_1614 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
双份浓缩馥芮白15 小时前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
Ricky111zzz16 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
kobe_OKOK_16 小时前
S7 adapter Docker run
运维·docker·容器
一个欠登儿程序员16 小时前
在国产服务器上通过 Docker 部署 Windows 虚拟机
服务器·windows·docker
Hadoop_Liang17 小时前
构建Spring Boot项目Docker镜像
spring boot·后端·docker
逆境不可逃17 小时前
LeetCode 热题 100 之 230. 二叉搜索树中第 K 小的元素 199. 二叉树的右视图 114. 二叉树展开为链表
算法·leetcode·职场和发展
wfbcg17 小时前
每日算法练习:LeetCode 15. 三数之和 ✅
算法·leetcode·职场和发展
YunQuality18 小时前
六西格玛黑带三个月拿证经验分享
笔记·职场和发展·职场·学习方法