> 文章列表 > 基于Jenkins实现Docker应用的持续集成与部署

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

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

先决条件

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端口即可打开部署的网页