一.    NEXUS

1.  下载安装:

tar -xf nexus-2.12.0-01-bundle.tar.gz
mkdir /usr/nexus
mv nexus-2.12.0-01 /usr/nexus/

2.  配置:vim conf/nexus.properties

# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
nexus-work=/data/sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
# orientdb buffer size in megabytes
storage.diskCache.bufferSize=4096

java运维有什么发展趋势 java运维系统_java部署环境

3.  重启停止: /usr/nexus/nexus-2.12.0-01/bin/nexus stop|restart|start

4.  登陆:ops.keking.cn:8081/nexus默认用户admin/admin123

5.  增加角色赋权:

登陆后把admin的管理员角色(administrator role) 改为deploymentrole;

把默认deployment 停止使用

创建root用户,赋予 (administrator role)

java运维有什么发展趋势 java运维系统_Jenkins_02

6.  增加定时任务,清理snapshot

java运维有什么发展趋势 java运维系统_java部署环境_03

因为snapshot 包是按时间戳来生产,时间一长会很多,影响索引速度,故增加一个定时任务,每天清理,保留15天。

7.  增加一个 Group Repository,注意Repository顺序,下图红框内3。

java运维有什么发展趋势 java运维系统_java运维有什么发展趋势_04

二、Jenkins

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
yum install Jenkins
JENKINS_HOME:/var/lib/jenkins

安装的目录: /usr/lib/jenkins/jenkins.war.

配置文件:/etc/sysconfig/jenkins

2.    安装后修改配置

修改配置:vim  /etc/sysconfig/Jenkins

(默认为/var/lib/jenkins)
JENKINS_HOME="/data/jenkinsHome"
(默认为-Djava.awt.headless=true)
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms4096m -Xmx4096m -Xmn256m -Xss256k -XX:+DisableExplicitGC  -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabl
ed -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
(默认为8080)
JENKINS_PORT="8087"

三.安装JDK8

卸载已有的openjdk,

(1)rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
(2)yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686

安装Jdk8就不赘述,谷歌一下

使用:java -version

java运维有什么发展趋势 java运维系统_java部署环境_05

四、卸载GIT安装最新版本:

不再赘述,谷歌:在CentOS 6.x/7.x上安装git及最新版

安装后使用which git 显示: /usr/local/git/bin/git

使用 git –version:

java运维有什么发展趋势 java运维系统_maven_06

五、安装maven :不再赘述,谷歌

使用mvn –v:

注意:增加以下配置,JAVA_HOME 参考《三、JDK8安装》

vim /etc/mavenrc

JAVA_HOME=/usr/java/jdk1.8.0_151

java运维有什么发展趋势 java运维系统_maven_07

配置maven: Vim  MAVEN_HOME/conf/setting.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
/data/maven_repo
repo.keking
admin
admin123
1000
repo.keking
repo.keking
http://repo.keking.prod:8081/nexus/content/groups/public
p-nexus-public
repo.keking
http://repo.keking
true
true
always
warn
repo.keking
http://repo.keking
true
true
always
warn
p-nexus-public

六、GITALB

比较简单,有一键部署安装包,查手册就可以了

七、启动Jenkins

一切准备就绪,来个set 命令,看看各个配置:

主要看java_home,maven_home,path等参数是否正常。

输入指令 sudo service jenkins start,如果出现类似如下的报错:

Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录

或者

Starting Jenkins Jenkins requires Java7 or later, but you are running 1.5.0 from /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre

则说明jenkins没有找到java安装目录,若此时已经卸载了openjdk,安装了新版本的全java包,则可以通过修改init.d中配置文件解决,方法如下:

vi /etc/init.d/jenkins

找到candidates,修改如下,将你安装的java所在路径写到第一个候选位置(最前面)即可将/usr/bin/java写到最前。

candidates="
/usr/bin/java
/usr/java/jdk1.8.0_131/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java

八、创建Jenkins启动用户jenkins的公私钥

这个用户不能通过swith切换,SO:

sudo -s -H -u jenkins

whoami  显示Jenkins

创建公私钥一路回车:ssh-keygen -t rsa

在目录下:var/lib/jenkins/.ssh

将公钥写入到目标机器的 ~/ .ssh/authorized_key.文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22223 root@192.168.10.76"

一定要注意:chmod 600 authorized_keys

九、登陆Jenkins配置环境

1、设置初始密码,安装插件(不用多,参考线上环境,ssh agent,pipeline,Publish Over SSH,git,maven等是必选

java运维有什么发展趋势 java运维系统_java部署环境_08

2.1 访问GitLAB

java运维有什么发展趋势 java运维系统_java_09

2.2 构建后上传jar包到其它服务器用户 (SSH Username with private key)

java运维有什么发展趋势 java运维系统_maven_10

3.  全局工具配置:(前面的准备工作派上用场)

java运维有什么发展趋势 java运维系统_java部署环境_11

4.  某个具体项目sample: 带参数的构建项目

java运维有什么发展趋势 java运维系统_maven_12

JenkinsFile实例:

java运维有什么发展趋势 java运维系统_maven_13