待研究的知识点:
1、程序内容备份(jenkins项目配置、gitlab源码、nexus仓库内容)
2、不清楚怎么进行程序相关数据的迁移
3、不清楚如何清楚nexus整个仓库内容
4、构建程序gradle,如何在程序build.gradle文件中设置版本号,jenkins打包时使用此版本好。gradle-wrapper
4、这三个程序能否做集群,是否能够分布式存储,解决单点故障(高级)
研究没有解决问题:
jenkins中,本地打出的包中war包名称为job项目名称不是程序中定义的名称,但是推送到nexus中的名称是正确的
build.gradle 根据公司外网判定是否公司环境,进行maven仓库的选择
待进一步实践:
把自定义的两个host仓库mymave-xxx加入到maven-public仓库中,并进行最后一步最终问题测试。
一、环境
操作系统:全部为centos7.5.1804(共三台)
服务器与程序版本:
wkvm5(192.168.0.15)(2H4G):gitlab-11.1.2
wkvm6(192.168.0.16)(1H2G):jenkins-2.134-1.1
wkvm7(192.168.0.17)(1H2G):nexus-3.13
二、准备安装包
jdk-8u162-linux-x64.rpm:jdk-1.8(不能低于此版本)
gradle-4.8.1-bin.zip:gradle-4.8程序构建程序
git-2.11.0.tar.gz:git版本管理
gitlab-11-1-stable-zh.tar.gz:gitlab汉化包
gitlab-ce-11.1.2-ce.0.el7.x86_64.rpm:gitlab社区版
jenkins-2.134-1.1.noarch.rpm:CI|CD集成软件
nexus-3.13.0-01-unix.tar.gz:私有仓库
三、各服务器安装对应软件(细节见具体文档)
wkvm5安装gitlab: 访问地址:192.168.0.15/gitlab
wkvm6安装jenkins、git、gradle、jdk: 访问地址:192.168.0.16/jenkins
wkvm7安装nexus: 访问地址:192.168.0.17/nexus
四、三台服务器配合,数据准备
1、获取gitlab Api Token(个人令牌)
2、jenkins服务器生成密钥对,并把公钥内容拷贝到gitlab(设置->SSH密钥)
3、在windows IDEA所在服务器生成密钥对,并把公钥内容拷贝到gitlab(创建密钥方式略)
五、准备java程序
在gitlab上创建一个程序仓库,并在本地用idea拉取,在idea中添加程序文件,并提交推送到gitlab上
六、准备jenkins项目
新建一个自由风格的项目,并配置项目 源码管理、构建(执行任务)、构建后
七、设置程序可外网访问
通过阿里云的一台nginx,访问本地的三台服务器程序(gitlab/jenkins/nexus)