『互联网架构』软件架构-电商系统架构(上)(69)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『互联网架构』软件架构-电商系统架构(上)(69)

上篇文章,以淘宝举例电商的演变过程,发现从个人网站到java网站,分布式。以应用程序做服务化,数据库采用读写分离分库分表,redis cluster,oss图片处理。
今天说说如何落地。
源码:https://github.com/limingios/netFuture/tree/master/jenkins+nexus+gogs

『互联网架构』软件架构-电商系统架构(上)(69)_第1张图片

(一)虚拟机搭建

  • 虚拟机创建

通过源码生成4个虚拟机,准备工作。vagrant已经安装了 对应的docker。用docker安装nexus就是为了避免环境变量,用户赋权等复杂的操作。对于vagrant的如何安装不用的系统不一样可以参看
mac 安装vgarant :https://idig8.com/2018/07/29/docker-zhongji-07/
window安装vgaranthttps://idig8.com/2018/07/29/docker-zhongji-08/

系统类型 IP地址 节点角色 CPU Memory Hostname
Centos7 192.168.72.101 SI-gogs 2 3G SI-gogs
Centos7 192.168.72.102 SI-jenkins 2 3G SI-jenkins
Centos7 192.168.72.103 SI-nexus 2 3G SI-nexus
Centos7 192.168.72.104 SI-tomcat 2 2G SI-tomcat
『互联网架构』软件架构-电商系统架构(上)(69)_第2张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第3张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第4张图片

(二)环境搭建

里面涉及到的安装方式很多,能简化的我都用docker来完成的,不能简化的还是中规中矩按照正常的方式起来进行安装。

  • 1.docker安装Gogs(72.101)

https://hub.docker.com/r/gogs/gogs

『互联网架构』软件架构-电商系统架构(上)(69)_第5张图片

切换root用户

su -
#密码 vagrant
『互联网架构』软件架构-电商系统架构(上)(69)_第6张图片

从镜像库拉取

docker pull gogs/gogs

创建相应文件夹

mkdir -p /var/gogs

创建docker容器gogs,关闭防火墙

docker run -t  --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
# 关闭防火墙
service iptables stop
# 查看是否关闭
firewall-cmd --state  

WARNING: IPv4 forwarding is disabled. Networking will not work.
虚拟机端口转发 外部无法访问。

『互联网架构』软件架构-电商系统架构(上)(69)_第7张图片

解决方案:启动docker web服务时【虚拟机端口转发 外部无法访问】

vi /etc/sysctl.conf
#添加,按键ESC,wq保存
net.ipv4.ip_forward=1
#重启网络
systemctl restart network
#查看是否修改成功
sysctl net.ipv4.ip_forward
『互联网架构』软件架构-电商系统架构(上)(69)_第8张图片

再次访问gogs的配置页面
192.168.72.101

『互联网架构』软件架构-电商系统架构(上)(69)_第9张图片

如何配置gogs

『互联网架构』软件架构-电商系统架构(上)(69)_第10张图片

IP 不要使用localhost,负责外部无法访问容器了

『互联网架构』软件架构-电商系统架构(上)(69)_第11张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第12张图片

安装完毕

『互联网架构』软件架构-电商系统架构(上)(69)_第13张图片

创建仓库测试

『互联网架构』软件架构-电商系统架构(上)(69)_第14张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第15张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第16张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第17张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第18张图片

修改文件提交测试,发现也是没问题的。看来gogs已经安装完毕了。

『互联网架构』软件架构-电商系统架构(上)(69)_第19张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第20张图片

用户名:liming
密 码:123456

  • 2.安装Jenkins(72.102)不推荐docker安装

容器中安装jdk,maven,git等,这个需要的挂载比较多,同时dockerfile比较复杂。 按照我的shell一键安装。
源码:jenkins+nexus+gogs/jenkins.sh

官网:https://jenkins.io/zh

『互联网架构』软件架构-电商系统架构(上)(69)_第21张图片

切换root用户

su -
#密码 vagrant
『互联网架构』软件架构-电商系统架构(上)(69)_第22张图片

查看shell脚本

『互联网架构』软件架构-电商系统架构(上)(69)_第23张图片

编辑脚本

source /etc/profile
cd /root/
vi jenkins.sh

脚本赋权,运行脚本

#shell脚本里面设置了端口8888,喜好自行修改
chmod 777 jenkins.sh
sh jenkins.sh

安装完成

『互联网架构』软件架构-电商系统架构(上)(69)_第24张图片

第一次安装查看秘钥

cd /root
ls
#末尾可以看到秘钥
cat nobup.out 
『互联网架构』软件架构-电商系统架构(上)(69)_第25张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第26张图片

网页安装jenkins,秘钥就是上面复制的

『互联网架构』软件架构-电商系统架构(上)(69)_第27张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第28张图片

选择插件安装

『互联网架构』软件架构-电商系统架构(上)(69)_第29张图片

pipline的插件全部安装,如果是docker安装jenkins,插件老安装失败

『互联网架构』软件架构-电商系统架构(上)(69)_第30张图片

使用admin登录,密码还是刚才的cat nobup.out的密码
修改密码,密码修改成 123456

『互联网架构』软件架构-电商系统架构(上)(69)_第31张图片
『互联网架构』软件架构-电商系统架构(上)(69)_第32张图片

用户名:admin
密 码:123456

# 如果虚拟机重启的话,需要输入这个命令才可以启动jenkins
cd /root
nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8888 &
  • 3.docker安装Nexus(72.103)

https://hub.docker.com/r/sonatype/nexus3

『互联网架构』软件架构-电商系统架构(上)(69)_第33张图片

切换root用户

su -
#密码 vagrant
『互联网架构』软件架构-电商系统架构(上)(69)_第34张图片

从镜像库拉取

docker pull sonatype/nexus3
『互联网架构』软件架构-电商系统架构(上)(69)_第35张图片

创建相应文件夹

mkdir  /var/nexus-data
#权限问题
chown -R 200 /var/nexus-data

创建docker容器nexus,关闭防火墙

docker run -d -p 8081:8081 --name nexus -v /var/nexus-data:/nexus-data sonatype/nexus3
# 关闭防火墙
service iptables stop
# 查看是否关闭
firewall-cmd --state  

查看状态

docker ps -a

安装完毕

『互联网架构』软件架构-电商系统架构(上)(69)_第36张图片

用户名:admin
密 码:admin123

PS:docker的方式安装gogs 和 nexus。jenkins正常的方式安装。下节在104上回顾下tomcat的持续发布管理。

『互联网架构』软件架构-电商系统架构(上)(69)_第37张图片

你可能感兴趣的:(『互联网架构』软件架构-电商系统架构(上)(69))