您现在的位置是:首页 >技术教程 >基于Jenkins实现Docker应用的持续集成与部署网站首页技术教程
基于Jenkins实现Docker应用的持续集成与部署
先决条件
1. 服务器部署安装有docker
在docker应用开发中最常见的就是开发Dockerfile文件,可以使用代码仓库来管理它。
而在企业私有开发环境中是无法访问公有代码仓库(如Github)的。这时可以搭建私有代码仓库。
部署安装svn私有仓库
- 安装软件
sudo yum install -y subversion mod_dav_svn
- 创建svn仓库
sudo mkdir -p /srv/svn/repos sudo svnadmin create /srv/svn/repos/myrepo sudo chown -R apache.apache /srv/svn/repos
- 配置 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
- 创建用户名和密码文件
sudo htpasswd -cm /etc/httpd/svn-auth myuser
此命令将创建一个新的用户名和密码文件 /etc/httpd/svn-auth,并添加名为 myuser 的新用户。当您运行此命令时,系统将提示您为新用户设置密码。请注意,
-c 标志用于创建新的密码文件。如果您需要向现有的密码文件中添加用户,请删除 -c 标志。
- 启动apache服务器
sudo systemctl start httpd sudo systemctl enable httpd
- 访问SVN仓库
使用浏览器访问
或者使用svn客户端工具访问
svn checkout http://<your-server-ip>/svn/myrepo 这将从 SVN 服务器中检出 myrepo 仓库到当前目录
开发Dockerfile文件
- 准备Dockerfile文件
cat > Dockerfile <<EOF FROM nginx RUN echo '<h1>Demo Version 1</h1>' >/usr/share/nginx/html/index.html EOF
- 将文件提交到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)仓库中,您需要执行以下步骤:
- 检查您是否已经在本地创建了SVN仓库工作副本。如果没有,请使用svn checkout命令从远程仓库创建一个工作副本。
svn checkout [repository_url] [local_directory]
其中,[repository_url]是SVN仓库的URL地址,[local_directory]是本地目录路径。
- 在本地工作副本中创建或编辑要提交的文件。
- 使用svn add命令将新创建的文件添加到版本控制中。例如,要将名为file.txt的文件添加到SVN仓库中,请执行以下命令:
svn add file.txt
- 使用svn commit命令将更改提交到SVN仓库。请注意,每次提交更改时,都需要在命令行中提供提交注释。例如,要提交file.txt文件的更改并添加提交注释,请执行以下命令:
svn commit -m "Update file.txt"
完成后,您的更改将被提交到SVN仓库中,并且其他人可以更新他们的工作副本以查看您的更改
集成Jenkins和Docker
- 在jenkins上部署安装SVN插件
- 创建新项目
- 勾选subversion单选按钮,表示代码由SVN进行管理
- 在Repository URL文本框中输入SVN的代码仓库地址
- 单击【Credentials】旁边的【添加】按钮,然后利用SVN用户信息添加一个新的Jenkins账户信息
- 在构建选项卡中,单击【增加构建步骤】,并选择执行SHELL。然后输入如下命令
docker build -t myjenkinsdemo . docker run -d -p 1778:80 myjenkinsdemo
- 单击保存按钮,并单击【立即构建】
构建的日志输出信息
- 项目构建完成之后,打开浏览器访问节点的1778端口即可打开部署的网页