Docker构建和Web应用部署
Git优点:(一台电脑即可以是客户端,也可以是服务器;工作过程中,可以断网)
适合分布式开发,强调个体;
公共服务器压力和数据量都不会太大;
速度快,灵活;
可以离线工作。
SVN优点:(一台的服务器控制很多客户端,使用过程中不能断网)
管理方便、逻辑明确;
集中式管理更能保证安全性;
适合开发人数不多的项目开发。
1 .部署Jenkins
[root@localhost ~]# wget https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@localhost ~]# rpm -import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@localhost ~]# yum -y install jenkins
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# systemctl enable jenkins
[root@localhost ~]# firefox http://192.168.10.101:8080
注意:此处要输入密码,可在下面的文件中查看
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
。
注意,安装过后是英文界面,要汉化
一、安装插件
主界面-->系统管理-->插件管理-->可选插件
安装上面的插件
二、配置语言
系统管理-->系统设置-->Locale
三、应用保存,重启即可。
2 . 部署Subversion与Docker Swarm 集群
○1.安装Subversion。可采用本地yum 安装
注意::修改配置文件时,左侧不能有空格,不然报错!!!
[root@svn conf]# yum -y install subversion
[users]
kgc-test = benet.com
[/]
kgc-test = rw
#cd /kgc/svn/conf/
[general]
19 anon-access = read
20 auth-access = write
27 password-db = passwd ## 用户口令文件名
34 authz-db = authz ## 权限配置文件名
39 realm = /kgc/svn ## 登录提示认证名称
[sasl]
[root@svn conf]# svnserve -d -r /kgc/svn/ ##启动SVN
[root@svn conf]# netstat -anpt |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 51788/svnserve
[root@localhost ~]# svn mkdir svn://192.168.10.105/product-station -m "mkdir by zsk create 2019-08-10"
认证领域:
“root”的密码:
认证领域:
用户名: kgc-test
“kgc-test”的密码: benet.com ##和设置的密码保持一致
注意! 你的密码,对于认证域:
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
保存未加密的密码(yes/no)?yes
提交后的版本为 1。
[root@localhost ~]# svn list svn://192.168.10.105
product-station/
[root@localhost ~]# svn checkout svn://192.168.10.105/product-station
取出版本 1。
[root@localhost ~]# cd product-station/
[root@localhost product-station]# echo "kgc-web-version" >> index.html
[root@localhost product-station]# svn add index.html
A index.html
[root@localhost product-station]# svn commit -m 'commit'
正在增加 index.html
传输文件数据.
提交后的版本为 2。
[root@localhost 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持续集成与交付
尚未验证
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。