项目持续化集成部署(jenkins+maven+tomcat+gitlab)

项目持续化集成部署(jenkins+maven+tomcat+gitlab)

image.png

Author cherryc

Date 2018/6/4

Desc jenkins实现maven项目的持续化集成

安装Java1.8.0

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安装成功

image.png

注意:指定的java_home目录一定要正确

如果/etc/profile配置出错,使用任何命令都会显示命令找不到,使用以下命令可以解决:

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

安装Maven3.3.9

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

image.png

7)修改maven的配置文件setting.xml ,添加下列内容

   //指定访问公司maven仓库的用户名密码
   <server>
        <id>hmtc-releases</id>
        <username>hmtc-readonly</username>
        <password>123456</password>
    </server>
    <server>
        <id>hmtc-snapshots</id>
        <username>hmtc-readonly</username>
        <password>123456</password>
    </server>
   <mirror>  
      <id>alimaven</id>  
      <name>aliyun maven</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
      <mirrorOf>central</mirrorOf>          
    </mirror>  
    <mirror>      
      <id>repo3</id>      
      <mirrorOf>central</mirrorOf>      
      <name>Human Readable Name for this Mirror.</name>      
      <url>https://repo.spring.io/libs-snapshot/</url>      
    </mirror> 
    <mirror>      
      <id>repo2</id>      
      <mirrorOf>central</mirrorOf>      
      <name>Human Readable Name for this Mirror.</name> 
      <url>http://repo2.maven.org/maven2/</url>      
    </mirror> 
    <mirror>  
      <id>repo1</id>  
      <mirrorOf>central</mirrorOf>  
      <name>Human Readable Name for this Mirror.</name>  
      <url>http://repo1.maven.org/maven2/</url>  
    </mirror>

安装Redis4.0.2

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可执行文件。如下图:

image.png

5)直接运行redis-server即可启动Redis ,测试是否安装成功

image.png

通过初始化脚本启动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

image.png

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

image.png

至此可以通过初始化脚本启动redis设置成功!

设置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命令一样。

安装Tomcat8.0.39

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端口查看效果

image.png

接下来配置数据源等信息

4)配置数据源:vim context.xml

<Resource auth="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" />

安装Git1.8.3

yum install git (默认安装的版本是1.8.3,不过建议安装2.3.0以上的版本,否则会和jenkins不兼容)

image.png

安装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服务器

image.png

image.png

注意:

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端口对外转发

配置Jenkins构建项目

访问jenkin:http://10.211.101.191:18080/jenkins/manage

image.png

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

image.png
image.png
image.png

5)保存之后点击立即构建。

image.png

至此,项目开发环境搭建成功!

注意:

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即可。

image.png

image.png

问题

1)如果出现连接gitLab错误,请确保用户名密码正确!!!(踩过的坑)

可以在服务器上通过命令方式测试用户名密码是否正确:git clone -b dev 192.168.11.11/hshs/hshs.git

image.png

2)找不到文件或目录,这是因为git拉取下来的文件默认存放在 /root/.jenkins/job/项目名/workspace目录下,所以构建的shell脚本一定要确保项目目录是正确的!!!

image.png

猜你喜欢

转载自blog.csdn.net/a1786223749/article/details/80666366