Docker构建和Web应用部署
Git优点:(一台电脑即可以是客户端,也可以是服务器;工作过程中,可以断网)
适合分布式开发,强调个体;
公共服务器压力和数据量都不会太大;
速度快,灵活;
可以离线工作。
SVN优点:(一台的服务器控制很多客户端,使用过程中不能断网)
管理方便、逻辑明确;
集中式管理更能保证安全性;
适合开发人数不多的项目开发。
1 .部署Jenkins
[[email protected] ~]# wget https://pkg.jenkins.io/redhat-stable/jenkins.repo
[[email protected] ~]# rpm -import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[[email protected] ~]# yum -y install jenkins
[[email protected] ~]# systemctl start jenkins
[[email protected] ~]# systemctl enable jenkins
[[email protected] ~]# firefox http://192.168.10.101:8080
注意:此处要输入密码,可在下面的文件中查看
[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
。
注意,安装过后是英文界面,要汉化
一、安装插件
主界面-->系统管理-->插件管理-->可选插件
安装上面的插件
二、配置语言
系统管理-->系统设置-->Locale
三、应用保存,重启即可。
2 . 部署Subversion与Docker Swarm 集群
○1.安装Subversion。可采用本地yum 安装
注意::修改配置文件时,左侧不能有空格,不然报错!!!
[[email protected] conf]# yum -y install subversion
mkdir -p /kgc/svn
svnadmin create /kgc/svn/
vim /kgc/svn/conf/passwd
[users]
harry = harryssecret
sally = sallyssecret
kgc-test = benet.com
vim /kgc/svn/conf/authz
[/]
kgc-test = rw
#cd /kgc/svn/conf/
cp svnserve.conf svnserve.conf.bak
vim svnserve.conf
[general]
19 anon-access = read
20 auth-access = write
27 password-db = passwd ## 用户口令文件名
34 authz-db = authz ## 权限配置文件名
39 realm = /kgc/svn ## 登录提示认证名称
[sasl]
[[email protected] conf]# svnserve -d -r /kgc/svn/ ##启动SVN
[[email protected] conf]# netstat -anpt |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 51788/svnserve
[[email protected] ~]# svn mkdir svn://192.168.10.105/product-station -m "mkdir by zsk create 2019-08-10"
认证领域: <svn://192.168.10.105:3690> /kgc/svn
“root”的密码:
认证领域: <svn://192.168.10.105:3690> /kgc/svn
用户名: kgc-test
“kgc-test”的密码: benet.com ##和设置的密码保持一致
注意! 你的密码,对于认证域:
<svn://192.168.10.105:3690> /kgc/svn
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
保存未加密的密码(yes/no)?yes
提交后的版本为 1。
[[email protected] ~]# svn list svn://192.168.10.105
product-station/
[[email protected] ~]# svn checkout svn://192.168.10.105/product-station
取出版本 1。
[[email protected] ~]# cd product-station/
[[email protected] product-station]# echo "kgc-web-version" >> index.html
[[email protected] product-station]# svn add index.html
A index.html
[[email protected] product-station]# svn commit -m ‘commit‘
正在增加 index.html
传输文件数据.
提交后的版本为 2。
[[email protected] product-station]#
注意:部署完SVN 后,需要在manager,worker01,worker02上部署Docker Swarm集群,部署方法参照之前章节
3.安装Jenkins 插件
安装SSH , Publish Over SSH , SSH Agent 插件 ##需要联网 需等待2分钟
4.Jenkins配置SSH Site
注意:此处的svn 和 用户 填写SVN 服务器创建的用户,不然报错
5.配置Publish Over SSH
6.构建一个新工程
注意:所有节点都是管理节点,并开启路由转发
在构建后操作添加如下内容,每一个群集主机都要添加nginx 镜像,以及创建
/usr/share/nginx/html的目录
docker service rm kgc-test
docker service create --name kgc-test --replicas 3 --mount type=bind,source=/usr/share/nginx/html,destination=/usr/share/nginx/html -p 88:80 nginx
注意:此处的svn 和 用户 填写SVN 服务器创建的用户,不然报错
出现一下画面,说明部署成功。完成了持续集成。
出现 SUCCESS 说明部署成功
7.验证Jenkins持续集成与交付
尚未验证
原文地址:https://blog.51cto.com/14355475/2447338