前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『互联网架构』软件架构-电商系统架构(上)(69)

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

作者头像
IT架构圈
发布2019-06-05 15:33:46
7650
发布2019-06-05 15:33:46
举报
文章被收录于专栏:IT架构圈IT架构圈

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

(一)虚拟机搭建
  • 虚拟机创建

通过源码生成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

(二)环境搭建

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

  • 1.docker安装Gogs(72.101)

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

切换root用户

代码语言:javascript
复制
su -#密码 vagrant

从镜像库拉取

代码语言:javascript
复制
docker pull gogs/gogs

创建相应文件夹

代码语言:javascript
复制
mkdir -p /var/gogs

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

代码语言:javascript
复制
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. 虚拟机端口转发 外部无法访问。

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

代码语言:javascript
复制
vi /etc/sysctl.conf#添加,按键ESC,wq保存net.ipv4.ip_forward=1#重启网络systemctl restart network#查看是否修改成功sysctl net.ipv4.ip_forward

再次访问gogs的配置页面 192.168.72.101

如何配置gogs

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

安装完毕

创建仓库测试

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

用户名:liming 密 码:123456

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

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

切换root用户

代码语言:javascript
复制
su -#密码 vagrant

查看shell脚本

编辑脚本

代码语言:javascript
复制
source /etc/profilecd /root/vi jenkins.sh

脚本赋权,运行脚本

代码语言:javascript
复制
#shell脚本里面设置了端口8888,喜好自行修改chmod 777 jenkins.shsh jenkins.sh

`

安装完成

第一次安装查看秘钥

代码语言:javascript
复制
cd /rootls#末尾可以看到秘钥cat nobup.out 

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

选择插件安装

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

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

用户名:admin 密 码:123456

代码语言:javascript
复制
# 如果虚拟机重启的话,需要输入这个命令才可以启动jenkinscd /rootnohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8888 &
  • 3.docker安装Nexus(72.103)

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

切换root用户

代码语言:javascript
复制
su -#密码 vagrant

从镜像库拉取

代码语言:javascript
复制
docker pull sonatype/nexus3

创建相应文件夹

代码语言:javascript
复制
mkdir  /var/nexus-data#权限问题chown -R 200 /var/nexus-data

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

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

查看状态

代码语言:javascript
复制
docker ps -a

安装完毕

用户名:admin 密 码:admin123

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)虚拟机搭建
  • (二)环境搭建
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档