Author cherryc
Date 2018/6/4
Desc jenkins实现maven项目的持续化集成
1)将下载好的JDK8安装包通过xftp传输到 /usr/local目录下
2)进入安装包所在目录: cd /usr/local
3)解压安装包: tar -zxvf jdk-8u151-linux-x64.tar.gz , 解压后发现目录下多了个文件夹 jdk1.8.0_151
4) 配置环境变量 ,编辑文件 vi /etc/profile 在文件底部添加如下内容:
# jdk1.8.0 enviroment
JAVA_HOME=/usr/local/jdk1.8.0_151
JRE_HOME=/usr/local/jdk1.8.0_151/jre
PATH=JAVA_HOME/bin:PATH
CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH JAVA_HOME CLASSPATH
以上,环境变量配置完成。
需要注意的是,PATH在配置的时候,一定要把JAVA_HOME放在前面,不然使用java命令时,系统会找到以前的java,再不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
5) 最后使用source /etc/profile 让profile文件立即生效。
6) 使用命令java -version 或者javac测试jdk安装成功
注意:指定的java_home目录一定要正确
如果/etc/profile配置出错,使用任何命令都会显示命令找不到,使用以下命令可以解决:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
1) 进入/usr/local 目录
2) 下载安装包: wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
3) 解压安装包 tar -zxvf apache-maven-3.3.9-bin.tar.gz
4) 配置环境变量 ,编辑文件 vi /etc/profile 在文件底部添加如下内容:
# maven3.3.9 environment
MAVEN_HOME=/usr/local/apache-maven-3.3.9
export MAVEN_HOME
export PATH={PATH}:{MAVEN_HOME}/bin
5) 最后使用source /etc/profile 让profile文件立即生效。
6) 测试是否安装成功 mvn -v
7)修改maven的配置文件setting.xml ,添加下列内容
//指定访问公司maven仓库的用户名密码
<server>
<id>hmtc-releasesid>
<username>hmtc-readonlyusername>
<password>123456password>
server>
<server>
<id>hmtc-snapshotsid>
<username>hmtc-readonlyusername>
<password>123456password>
server>
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
<mirror>
<id>repo3id>
<mirrorOf>centralmirrorOf>
<name>Human Readable Name for this Mirror.name>
<url>https://repo.spring.io/libs-snapshot/url>
mirror>
<mirror>
<id>repo2id>
<mirrorOf>centralmirrorOf>
<name>Human Readable Name for this Mirror.name>
<url>http://repo2.maven.org/maven2/url>
mirror>
<mirror>
<id>repo1id>
<mirrorOf>centralmirrorOf>
<name>Human Readable Name for this Mirror.name>
<url>http://repo1.maven.org/maven2/url>
mirror>
1) 进入/usr/local 目录
2) 下载安装包 wget http://download.redis.io/releases/redis-4.0.2.tar.gz
3) 解压安装包并安装
tar -zxvf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make install
4)Redis没有其他外部依赖,安装过程很简单。编译后在Redis源代码目录的src文件夹中可以找到若干个可执行程序。安装完后,在/usr/local/bin目录中也可以找到刚刚安装的redis可执行文件。如下图:
5)直接运行redis-server即可启动Redis ,测试是否安装成功
需要配置Redis的运行方式和持久化文件、日志文件的存储位置。步骤如下:
1) 配置初始化脚本
在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件。
首先将初始化脚本复制到/etc/init.d 目录中,文件名为 redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号。
cp redis_init_script /etc/init.d/redis_6379
2)建立以下需要的文件夹。
[root@localhost utils]# mkdir /etc/redis
[root@localhost utils]# mkdir /var/redis
[root@localhost utils]# cd /var/redis
[root@localhost redis]# mkdir 6379
目录名 | Value |
---|---|
/etc/redis | 存放Redis的配置文件 |
/var/redis/端口号 | 存放Redis的持久化文件 |
3) 修改配置文件
首先将配置文件模板(redis-4.0.2/redis.conf)复制到/etc/redis 目录中,以端口号命名(如“6379.conf”),然后按照下表对其中的部分参数进行编辑。
cp /usr/local/redis-4.0.2/redis.conf /etc/redis/6379.conf
参数 | 值 | 说明 |
---|---|---|
daemonize | yes | 使Redis以守护进程模式运行 |
pidfile | /var/run/redis_端口号.pid | 设置Redis的PID文件位置 |
port | 端口号 | 设置Redis监听的端口号 |
dir | /var/redis/端口号 | 设置持久化文件存放位置 |
修改参数 ( linux 在vi编辑器里面有一个查找某个单词 : 首先要进入命令模式(按ESC退出INSERT模式) 然后输入:/单词)
4) 现在也可以使用下面的命令来启动和关闭Redis了
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
至此可以通过初始化脚本启动redis设置成功!
设置开机执行redis脚本:chkconfig redis_6379 on
通过上面的操作后,以后也可以直接用下面的命令对Redis进行启动和关闭了:service redis_6379 start/stop
经过上面的部署操作后,系统重启,Redis也会随着系统自动启动,并且上面的步骤里也配置了Redis持久化,下次启动系统或Redis时,有缓存数据不丢失的好处。考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:redis-cli SHUTDOWN
当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。Redis可以妥善处理 SIGTERM信号,所以使用 kill Redis 进程的 PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样。
1)进入目录/usr/local,下载tomcat安装包,可以参考如下地址
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz
2)解压安装包:tar -zxvf apache-tomcat-8.0.39.tar.gz
3)进入tomcat的bin目录,启动tomcat:./start.sh
,访问8080端口查看效果
接下来配置数据源等信息
4)配置数据源:vim context.xml
"Container" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.*.*:3306/hap_dev?allowMultiQueries=true" name="jdbc/hap_dev" type="javax.sql.DataSource" username="hap_dev" password="hap_dev"/>
5)设置vim tomcat-users.xml添加如下内容:
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-jmx" />
<role rolename="manager-status" />
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui, manager-script,manager-jmx,manager-status" />
yum install git (默认安装的版本是1.8.3,不过建议安装2.3.0以上的版本,否则会和jenkins不兼容)
1)cd /usr/local然后wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
2)解压tomcat安装包,然后把jenkins.war复制到webapps目录下
3)修改端口号为18080(修改server.xml)
4)设置端口转发的端口号
5)重启jenkins-tomcat服务器
注意:
1)修改server.xml的端口号 8005 8080 8443 8009都要修改
2)设置18080端口对外访问
[root@localhost logs]# firewall-cmd --zone=public --add-port=18080/tcp --permanent
success
[root@localhost logs]# firewall-cmd --reload
success
[root@localhost logs]# firewall-cmd --zone=public --query-port=18080/tcp
yes
3)在virtualbox中通过端口转发技术将18080端口对外转发
访问jenkin:http://10.211.101.191:18080/jenkins/manage
1)设置用户名密码,安装基本的插件。
2)安装maven gitLab插件
由于我们项目是maven项目并且与gitLab关联,所以要安装插件系统管理-->管理插件--->可选插件-->maven Integration/gitLab
安装完成之后重启jenkins。
3)配置maven jdk git安装目录:系统管理–>系统设置
4)配置项目:新建任务–>构建一个自由风格的软件项目—->填写基础信息。。。。。
源码管理部分选择git,填写仓库地址和用户名密码,然后配置构建信息(可以根据个人情况相应修改)
cd /root/.jenkins/jobs/hscs2/workspace
mvn clean package
cp /root/.jenkins/jobs/hscs2/workspace/core/target/core.war /usr/local/apache-tomcat-8.0.39/webapps/hscs.war
cd /usr/local/apache-tomcat-8.0.39/bin/
./shutdown.sh
./start.sh
5)保存之后点击立即构建。
至此,项目开发环境搭建成功!
注意:
1)配置git访问的用户名密码时,可以设置Username with Password,也可以设置为SSH Username with private Key,此时需要在gitLab中配置公钥,在jenkins中配置私钥。
关于密钥对,在服务器中输入命令:ssh-keygen -t rsa -C "chen@**.com"
然后一路回车即可生成相应的私钥,cat ~/.ssh/id_rsa.pub
将得到的公钥添加到gitLab中gitlab-->Profile Settings-->SSH Keys-->Add an SSH key
保存后重启jenkins即可。
1)如果出现连接gitLab错误,请确保用户名密码正确!!!(踩过的坑)
可以在服务器上通过命令方式测试用户名密码是否正确:git clone -b dev 192.168.11.11/hshs/hshs.git
2)找不到文件或目录,这是因为git拉取下来的文件默认存放在 /root/.jenkins/job/项目名/workspace目录下,所以构建的shell脚本一定要确保项目目录是正确的!!!