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

谈到 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!

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/231666.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过CRM实现客户关系管理?

——“小米加步枪是打不赢现代化战争的。” ——”CRM系统已成为企业掘金未来的必备。“ 数字化转型已经成为了企业发展的重要方向,然而数字化转型不仅仅是把线下搬到线上,更重要的是,真正的数字化转型应该以客户的连接和客户的数字化作为突破…

Java中xml映射文件是干什么的

Java中的XML映射文件主要用于将Java对象与XML文档之间进行转换。它通常用于处理数据交换和存储,例如将Java对象转换为XML格式以便在网络上传输或保存到文件中,或者将XML文档解析为Java对象以进行处理。这种转换可以通过Java的JAXB(Java Archi…

数据结构树与二叉树(5)Huffman树

#include <iostream> #include <stack> #include <queue>using namespace std;struct Node {char name ;int code[200];int num 0;//code的下标int weight 0;//权重&#xff08;次数&#xff09;Node* lchild;//左孩子Node* rchild;//右孩子Node* parent;N…

二.运算符

运算符 1.算术运算符2.比较运算符3.逻辑运算符 1.算术运算符 算数运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行 - * / 和 取模%运算 1.加减法运算符 mysql> SELECT 100,100 0,100 - 0,100 50,100 50 - …

Unity引擎:创造无限可能的游戏开发平台

Unity引擎&#xff1a;创造无限可能的游戏开发平台 一、Unity引擎概述1.1 什么是Unity引擎&#xff1f;1.2 Unity引擎的特点和优势 二、Unity开发环境和工具2.1 Unity编辑器2.2 支持的平台2.3 脚本语言2.4 图形和音频工具 三、Unity游戏开发流程四、示例应用场景五、结论&#…

【知识】稀疏矩阵是否比密集矩阵更高效?

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 问题提出 有些地方说&#xff0c;稀疏图比密集图的计算效率更高&#xff0c;真的吗&#xff1f; 原因猜想 这里的效率高&#xff0c;应该是有前提的&#xff1a;当使用稀疏矩阵的存储格式(如CSR)时&#xff0c;计…

Message全局提示(antd-design组件库)简单用法

1.Message全局提示 全局展示操作反馈信息。 2.何时使用 可提供成功、警告和错误等反馈信息。 顶部居中显示并自动消失&#xff0c;是一种不打断用户操作的轻量级提示方式。 组件代码来自&#xff1a; 全局提示 Message - Ant Design 3.本地验证前的准备 参考文章【react项目ant…

L298N模块使用简介

接口作用ENA/ENB使用PWM调节马达转速&#xff08;调速&#xff09;左边一对接口接电机的正负极右边一对接口接电机正负极控制IN1,IN2 控制左边的2个接口的电压&#xff0c;IN1控制一个&#xff0c;IN2控制另外一个 IN1输入3.3V时&#xff0c;OUT1输出3.3v电压&#xff08;可能是…

vue3跟vue2的区别?

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue3和vue2的区别 目录 一、Vue3介绍 哪些变化 速度更快 体积更小 更易维护 compositon Api …

开发知识点-Maven包管理工具

Maven包管理工具 SpringBootSpringSecuritydubbo图书电商后台实战-环境设置&#xff08;JDK8, STS, Maven, Spring IO, Springboot&#xff09;点餐小程序Java版本的选择和maven仓库的配置视频管理系统&&使用maven-tomcat7插件运行web工程SpringTool suite——maven项目…

【C语言】把歌词里的播放时间跟歌词提取出来

一&#xff0c;介绍 给到一个字符串&#xff0c;里面包含了时间&#xff08;唱该歌词的时间以及该歌词&#xff09;例如“[02:16.33][04:11.44][05:11.44]我想大声宣布对你依依不舍”&#xff0c;如何把两者都给打印出来呢&#xff1f;下面给出解释 二&#xff0c;代码 #incl…

【Spring系列】DeferredResult异步处理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…