基于Jenkins实现Docker应用的持续集成与部署

news2024/10/2 14:23:36

先决条件

1. 服务器部署安装有docker

在docker应用开发中最常见的就是开发Dockerfile文件,可以使用代码仓库来管理它。

而在企业私有开发环境中是无法访问公有代码仓库(如Github)的。这时可以搭建私有代码仓库。

部署安装svn私有仓库

  1. 安装软件

sudo yum install -y subversion mod_dav_svn

  1. 创建svn仓库

sudo mkdir -p /srv/svn/repos sudo svnadmin create /srv/svn/repos/myrepo sudo chown -R apache.apache /srv/svn/repos

  1. 配置 Apache Web 服务器

在 /etc/httpd/conf.d 目录下创建一个名为 svn.conf 的新文件,并添加以下内容:

cat >/etc/httpd/conf.d/svn.conf <<EOF <Location /svn> DAV svn SVNParentPath /srv/svn/repos AuthType Basic AuthName "SVN Repository" AuthUserFile /etc/httpd/svn-auth Require valid-user </Location> EOF

  1. 创建用户名和密码文件

sudo htpasswd -cm /etc/httpd/svn-auth myuser

此命令将创建一个新的用户名和密码文件 /etc/httpd/svn-auth,并添加名为 myuser 的新用户。当您运行此命令时,系统将提示您为新用户设置密码。请注意,

-c 标志用于创建新的密码文件。如果您需要向现有的密码文件中添加用户,请删除 -c 标志。

  1. 启动apache服务器

sudo systemctl start httpd sudo systemctl enable httpd

  1. 访问SVN仓库

使用浏览器访问

或者使用svn客户端工具访问

svn checkout http://<your-server-ip>/svn/myrepo 这将从 SVN 服务器中检出 myrepo 仓库到当前目录

开发Dockerfile文件

  1. 准备Dockerfile文件

cat > Dockerfile <<EOF FROM nginx RUN echo '<h1>Demo Version 1</h1>' >/usr/share/nginx/html/index.html EOF

  1. 将文件提交到SVN代码仓库服务器

[root@master ~]# svn checkout http://127.0.0.1:1180/svn/myrepo . Checked out revision 0. [root@master ~]# svn add Dockerfile A Dockerfile [root@master ~]# svn commit -m "update Dockerfile" Adding Dockerfile Transmitting file data . Committed revision 1. [root@master ~]# svn checkout http://127.0.0.1:1180/svn/myrepo A myrepo/Dockerfile Checked out revision 1. [root@master ~]#

浏览器访问确认是否提交成功

重要说明

要将文件提交到Subversion(SVN)仓库中,您需要执行以下步骤:

  1. 检查您是否已经在本地创建了SVN仓库工作副本。如果没有,请使用svn checkout命令从远程仓库创建一个工作副本。

svn checkout [repository_url] [local_directory]

其中,[repository_url]是SVN仓库的URL地址,[local_directory]是本地目录路径。

  1. 在本地工作副本中创建或编辑要提交的文件。
  1. 使用svn add命令将新创建的文件添加到版本控制中。例如,要将名为file.txt的文件添加到SVN仓库中,请执行以下命令:

svn add file.txt

  1. 使用svn commit命令将更改提交到SVN仓库。请注意,每次提交更改时,都需要在命令行中提供提交注释。例如,要提交file.txt文件的更改并添加提交注释,请执行以下命令:

svn commit -m "Update file.txt"

完成后,您的更改将被提交到SVN仓库中,并且其他人可以更新他们的工作副本以查看您的更改

集成Jenkins和Docker

  1. 在jenkins上部署安装SVN插件

  1. 创建新项目

  1. 勾选subversion单选按钮,表示代码由SVN进行管理

  1. 在Repository URL文本框中输入SVN的代码仓库地址
  1. 单击【Credentials】旁边的【添加】按钮,然后利用SVN用户信息添加一个新的Jenkins账户信息

  1. 在构建选项卡中,单击【增加构建步骤】,并选择执行SHELL。然后输入如下命令

docker build -t myjenkinsdemo . docker run -d -p 1778:80 myjenkinsdemo

  1. 单击保存按钮,并单击【立即构建】

构建的日志输出信息

  1. 项目构建完成之后,打开浏览器访问节点的1778端口即可打开部署的网页

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT-4 验明真身的三个经典问题:快速区分 GPT-3.5 与 GPT-4

现在已经有很多 ChatGPT 的套壳网站&#xff0c;以下分享验明 GPT-4 真身的三个经典问题&#xff0c;帮助你快速区分套壳网站背后到底用的是 GPT-3.5 还是 GPT-4。 测试问题 1&#xff1a;What is tomorrow in relation to yesterday’s today&#xff1f;&#xff08;昨天的当…

《Shunted Transformer: Shunted Self-Attention》CVPR 2022 oral

论文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/Ren_Shunted_Self-Attention_via_Multi-Scale_Token_Aggregation_CVPR_2022_paper.pdf 代码链接&#xff1a;https://github.com/OliverRensu/Shunted-Transformer​ 1. 动机 视觉转换器(ViT)模型…

vscode怎么对选定的代码格式化?ctrl+k,ctrl+f(格式化代码)

先选中代码&#xff1a; 然后按CTRL K 再按CTRLF 也可以先选择要格式化的代码块&#xff0c;ctrlshiftp&#xff0c;搜索format&#xff0c;然后第二个就是&#xff1a;

助你掌握搜索神器,10个实用的Elasticsearch查询技巧

前言 Elasticsearch是一个非常流行的搜索引擎&#xff0c;已经成为了许多企业的首选解决方案。然而&#xff0c;我们要想成为一个优秀的程序员&#xff0c;就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧&#xff0c;并配上详细的代码示例&#xff…

Python基础实战1-简单介绍python

1 Python介绍 Python是一门优雅而健壮的编程语言&#xff0c;它继承了传统编程语言的强大性和通用性&#xff0c;同时也借鉴了脚本语言和解释语言的易用性。 1.1 Python的历史 Python是由创始人贵铎范罗萨姆&#xff08;Guido van Rossum&#xff09;在阿姆斯特丹于1989年圣…

在数字化质变“奇点”时刻,看数字生产力跃升的华为观

&#xff08;华为轮值董事长孟晚舟&#xff09; 进入2023年&#xff0c;以大语言模型为代表的新AI&#xff0c;打开了全球对于数字生产力的全新认知&#xff1a;高盛集团经济学家认为&#xff0c;ChatGPT等生成式AI最终可能在10年的时间里使得全球年GDP增长7%&#xff08;近7万…

pinia持久化存储方案——pinia-storage(自己写的,持续更新)

pinia持久化存储方案——pinia-storage pinia-storagepinia-storage Introduction版本更新说明(update introduction)安装(install)npm 安装&#xff08;npm install&#xff09; QuickStartcreate piniastore/indexstore/indexPinia.tsstore/indexPinia.js main.ts | main.jsA…

Direct3D 12——几何着色器——几何着色器概念

几何着色器 几何着色器这个可选阶段便位于顶点着色器与像素着色器之间。几何着色器所输出的图元由顶点列表定义而成。在退岀几何着色器时&#xff0c;必将顶点的位置变换到齐次 裁剪空间。换言之&#xff0c;经过几何着色器阶段的处理后&#xff0c;我们就得到了位于齐次裁剪空…

MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZE

文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3&#xff1a;EXPLAIN ANALYZEEXPLAIN ANALYZE介绍EXPLAIN ANALYZE的特性EXPLAIN 和EXPLAIN ANALYZE的结果对比例题例题解析参考 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3&#xff1a;EXPLAIN ANALYZE EXPLAIN…

部门来了个测试人,听说是00后,上来一顿操作给我看呆了...

今天上班开早会就是新人见面仪式&#xff0c;听说来了个很厉害的大佬&#xff0c;年纪还不大&#xff0c;是上家公司离职过来的&#xff0c;薪资已经达到中高等水平&#xff0c;很多人都好奇不已&#xff0c;能拿到这个薪资应该人不简单&#xff0c;果然&#xff0c;自我介绍的…

网络原理(TCP/UDP)

目录 一. 网络基础 1. IP地址 2. 端口号 3. 协议 4. OSI七层模型 二. UDP协议 2.1 UDP的协议端格式&#xff1a; 2.2 UDP的特点 三. TCP协议 3.1 TCP协议段格式 3.2 TCP原理 &#xff08;1&#xff09;确认应答机制 &#xff08;2&#xff09;超时重传机制 &#xff…

CmBacktrace库在工程中的添加和应用

CmBacktrace 介绍在工程中添加CmBacktrace断言打印全局变量的值循环输出错误信息串口处理看门狗处理 介绍 CmBacktrace下载 CmBacktrace &#xff08;Cortex Microcontroller Backtrace&#xff09;是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位&#xff0c;错…

Javaee Spring template实现查询数据库表内容 基于半xml半注解

昨天用基于xml配置实现template查询数据库&#xff0c;今天基于半xml半注解方式实现,使用注解需要导入spring-aop-5.3.8.jar 导入jar包 项目结构&#xff1a; 其他代码在&#xff0c;先前上一篇文章已经给出 AccountServiceImpl package wwx.dao;import org.springframework…

定时器中断实验

实现内容 利用TIM3的定时器中断来控制DS1的翻转&#xff0c;在主函数用DS0 的翻转来提示程序正在运行。 定时器介绍 定时器可以认为是一个计数器&#xff1b;给定计数器一个初值&#xff0c;每当计数一次&#xff0c;就会走过一个固定的时间&#xff0c;当达到我们给定的初值…

强大的图像处理:ImageKit10.E ActiveX Crack

强大的图像处理&#xff01; ImageKit10 ActiveX 是一个组件&#xff0c;允许您快速轻松地向应用程序添加图像处理功能。使用 ImageKit10 ActiveX&#xff0c;您可以编写从 TWAIN 扫描仪和数码相机检索图像的应用程序;加载和保存图像文件并将图像从一种格式转换为另一种格式;编…

数字电路和模拟电路-半导体三极管

目录 1 什么是三极管&#xff1f; 1.1 放大状态时的偏执条件 1.1.1发射结加正向电压&#xff0c;扩散运动形成发射极电流IE 1.1.2扩散到基区的自由电子与空穴的复合运动形成基极电流IB 1.1.3集电结加反向电压&#xff0c;漂移运动形成集电极电流Ⅰc 2 三极管工作原理 2.…

5.图论(0x3f:从周赛中学算法 2022下)

来自0x3f【从周赛中学算法 - 2022 年周赛题目总结&#xff08;下篇&#xff09;】&#xff1a;https://leetcode.cn/circle/discuss/WR1MJP/ 周赛中的图论题目比较少&#xff0c;除了下面选的 DFS、BFS、拓扑排序、基环树、二分图判定等&#xff0c;还有最短路、DFS 时间戳等&a…

CloudCompare二次开发之如何设计界面ui与功能实现?

文章目录 0.引言1.创建界面ui相关文件2.添加界面ui相关文件到CloudCompare工程3.修改工程相关文件4.结果展示 0.引言 CloudCompare源代码编译成功后&#xff0c;即可进行二次开发&#xff0c;可以通过修改源码实现二次开发&#xff0c;二次开发基础功能见&#xff08;CloudComp…

什么是文件共享软件?文件传输软件如何共享?

它是一个文件共享软件应用程序&#xff0c;可让强大的数据保护层下将任何大小的文件发送到世界上的任何地方。以光速发送和共享无限数量的文件。可以提交门户并使用语言&#xff0c;品牌&#xff0c;存储等自定义门户。可以选择一个存储点&#xff0c;例如文件传输软件&#xf…

[入门必看]数据结构4.2:串的模式匹配

[入门必看]数据结构4.2&#xff1a;串的模式匹配 第四章 串4.2 串的模式匹配知识总览4.2.1_朴素模式匹配算法4.2.2_1_KMP算法4.2.2_2_求next数组4.2.3_KMP算法的进一步优化 4.2.1_朴素模式匹配算法什么是字符串的模式匹配朴素模式匹配算法通过数组下标实现朴素模式匹配算法代码…