上篇文章,以淘宝举例电商的演变过程,发现从个人网站到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用户
su - #密码 vagrant
从镜像库拉取
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.
虚拟机端口转发 外部无法访问。
解决方案:启动docker web服务时【虚拟机端口转发 外部无法访问】
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用户
su - #密码 vagrant
查看shell脚本
编辑脚本
source /etc/profile cd /root/ vi jenkins.sh
脚本赋权,运行脚本
#shell脚本里面设置了端口8888,喜好自行修改 chmod 777 jenkins.sh sh jenkins.sh ```` ![](https://upload-images.jianshu.io/upload_images/11223715-19a54a20ab11d303.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) > 安装完成 ![](https://upload-images.jianshu.io/upload_images/11223715-fdb723e54dd6bc4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) > 第一次安装查看秘钥 ``` bash cd /root ls #末尾可以看到秘钥 cat nobup.out
网页安装jenkins,秘钥就是上面复制的
选择插件安装
pipline的插件全部安装,如果是docker安装jenkins,插件老安装失败
使用admin登录,密码还是刚才的cat nobup.out的密码
修改密码,密码修改成 123456
用户名: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
切换root用户
su - #密码 vagrant
从镜像库拉取
docker pull sonatype/nexus3
创建相应文件夹
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
安装完毕
用户名:admin
密 码:admin123
PS:docker的方式安装gogs 和 nexus。jenkins正常的方式安装。下节在104上回顾下tomcat的持续发布管理。
百度未收录
>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:上一篇:已是最新文章