目录

一、创建 Jenkins 实例

二、Pipeline 项目

三、总结


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

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

一、创建 Jenkins 实例

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

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

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

# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
dfd97892d82e43f18437ac628908b0b5

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

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

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

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

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

二、Pipeline 项目

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

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

pipeline {agent anystages {stage('Hello') {steps {echo 'Hello World'}}}
}

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

三、总结

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

jenkins详细入门教程相关推荐

  1. TypeScript超详细入门教程(上)

    TypeScript超详细入门教程(上) 01 开篇词:Hello~TypeScript 01 开篇词:Hello~TypeScript 更新时间:2019-10-30 13:49:46 既然我已经踏 ...

  2. 543、RabbitMQ详细入门教程系列 -【Confirm与Mandatory】 2022.09.05

    目录 一.前言概述 二.SpringAMQP配置Confirm 2.1 Connection设置 2.2 template设置 2.3 Confirm实现 三.SpringAMQP配置ManDator ...

  3. 544、RabbitMQ详细入门教程系列 -【手动消费确认】 2022.09.05

    目录 一.前言概述 二.配置实现 2.1 XML配置 2.2 MessageListener实现 三.消息预取 四.并发消费 五.参考链接 一.前言概述 RabbitMQ(四) --消费者Consum ...

  4. 【endnote详细入门教程】

    Endnote详细入门教程 一.下载引用,导入文献 二.在word中插入引用 三.文献分类.注释 四.预览.引用格式 一.下载引用,导入文献 1.可以从不同的文献下载网站进行导入: (1)web of ...

  5. Swig超详细入门教程(Java调用C/C++, CMake)——更新于2021.12

    目录 相关教程 环境配置 0基础上手例子(C/C++) 使用CMake的例子(C语言) 使用CMake的例子(C++) 本文主要是手把手教萌新们如何用官方用例构建(有许多本人亲身踩坑血泪史) 相关教程 ...

  6. Apollo Control——超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导

    专栏文章列表 Apollo Control--超详细入门教程(一):基于道路误差的车辆动力学模型 Apollo Control--超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导 Ap ...

  7. python画图颜色表示大小变化_python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四)...

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  8. MFC 最详细入门教程

    From:https://blog.csdn.net/wang18323834864/article/details/78621633/ Visual Studio 2019:https://visu ...

  9. python画图marker显示_python画图(标记、marker、设置标记大小、marker符号大全)(图文详细入门教程五)...

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  10. canvas详细入门教程(1W字 吐血分享)

    大家好,我是潘潘 今天为大家带来的是我已经写了很久了的canvas详细教程,对入门canvas很有帮助. 点击跳转原文: canvas详细教程原文 canvas是什么? 简单来说,<canvas ...

最新文章

  1. 知识体系地图模型:你是如何有效地学习?
  2. 做好新型冠状病毒防疫 |春节第一重任:说服爸妈带口罩
  3. C语言什么时候必须用到二级指针?(需要调用函数为一维空指针确定值的情况下,需要传入二维指针,也就是那个一维指针的指针)
  4. jmeter录制 过滤_Jmeter脚本录制
  5. 源码免杀--反调试代码,免杀爱好者必备的利剑
  6. IT工作一年的总结——来自一个小菜鸟
  7. protobuf的安装和使用
  8. android 获取芯片版本_谷歌:未来Android手机将获得4年软件更新
  9. (81)FPGA复位激励(task)
  10. TopCoder中插件的用法
  11. git实现审核功能_使用 Pull Request 功能进行代码审查
  12. Linux下环境搭建(一)——java、tomcat配置
  13. OFFICE2016用过一段时间后正版密钥显示未激活问题
  14. 服务器查看ilo信息,服务器ilo默认地址
  15. 图像修复论文阅读笔记-----Globally and Locally Consistent Image Completion
  16. IC验证笔试题(寒武纪)
  17. 中文核心期刊目录(2004年版)
  18. OpenGL入门北斗星点绘制
  19. vb.net 教程 3-2 窗体编程之窗体 5
  20. 【技术史】人类历史上的历次重大技术变革的背后的核心驱动力是什么?

热门文章

  1. 存储器的分类整理(SRAM/DRAM/NOR FLASH/Nand FLASH)
  2. head first 设计模式源码
  3. 查看计算机数字证书,数字证书认不到怎么办?
  4. 虚拟服务器网络无法连接,VMware虚拟机XP系统网络无法连接受限制或无连接解决方法...
  5. Nero Multimedia Suite 10.6.11300
  6. 姓名大战c语言,c语言姓名大作战游戏
  7. NumberFormat格式化数字
  8. Dash_API与必应翻译的综合使用
  9. windows批量ping脚本
  10. win10系统下360加速球不显示网速解决方法