首页 > 其他分享 >jenkins+gitlab项目发布

jenkins+gitlab项目发布

时间:2022-08-19 11:49:02浏览次数:58  
标签:配置 tomcat gitlab maven 发布 Jenkins jenkins

centeros7 安装配置环境jdk1.8

 1.先卸载centeros自带jdk

rpm -qa | grep openjdk

2.删除

rpm -e --nodeps

3.再次查询

rpm -qa | grep jdk 

 4.在usr/local创建文件夹

cd /usr/local
mkdir java

5.将jdk1.8放到刚刚创建的文件中并解压

cd /usr/local/java
tar -zxvf jdk-8u181-linux-x64.tar.gz
6.进入刚刚解压的文件夹
cd jdk1.8.0_181/
pwd      #(这一步记录jdk1.8的路径,一会配置环境用)

7.配置环境vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin  
  按Esc后:wq退出后
source /etc/profile

8.查看是否成功

java -version

 maven 环境配置

1.在/usr/local 下创建maven文件夹

cd /usr/local
mkdir maven

2.进去新建的文件夹

cd maven

3.解压

tar -zxvf apache-maven-3.6.3.tar.gz 

4.进入解压的文件夹 

cd apache-maven-3.6.3/

5.配置环境

vim /etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4
export PATH=$PATH:$MAVEN_HOME/bin

按Esc后:wq保存后

source /etc/profile

6.查看是否成功

mvn -v

 

 GitLab的安装和启动、访问

1. 配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

复制下面内容:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

2. 更新本地yum缓存

yum makecache

3. 安装GitLab

yum install gitlab-ce #自动安装最新版

4. 修改配置文件 vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.10.43:1000'  #本机的IP地址加端口号

启动gitlab:gitlab-ctl reconfigure && gitlab-ctl start
查看状态:gitlab-ctl status

访问地址:http://192.168.10.43:1000
gitlab 默认管理用户是root
查看初始密码: cat /etc/gitlab/initial_root_password

 

Jenkins安装与配置

1、下载rpm包

访问:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/。进行对应版本下载。

2、安装

rpm -ivh jenkins-2.308-1.1.noarch.rpm

Jenkins默认端口为8080,如果存在端口冲突的话,需要修改:/etc/sysconfig/jenkins 文件中的 JENKINS_PORT

3、先启动jenkins,完成初始化

systemctl start jenkins

启动完成后,不要访问,查看jenkins目录下的updates文件夹是否出现,当出现后,代表已经初始化 完成,先关闭jenkins,然后进入updates文件夹,配置jenkins插件下载加速器。

# 查看文件

cd /var/lib/jenkins/updates  

# 配置加速器

sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
&& sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

4、配置后,重启Jinkens

systemctl restart jenkins

jenkins配置

启动完成后,进入jenkins。地址:http://ip:8088。 进入之后会显示如下页面,需要输入初始化密码。

 

 等待全部插件安装成功,创建用户后,进入Jenkins的主页

 

插件安装

1、安装Maven Integration

手动安装插件maven插件,,如果缺少Maven IntegrationPlugin插件,在创建job时,不会有新建一个 maven项目选项。

在Jenkins首页选择 Manage Jenkins -> Manage Plugins

 2、安装Gitlab Hook&Gitlab Plugin  #步骤一样,安装对应插件即可。

3、安装 Deploy on container    #步骤一样,安装对应插件即可。

4、配置Jenkins全局环境

点击左侧菜单中的系统管理进入Jenkins管理模块。选择全局工具配置。

 JDK与Git如果是自动安装的话可以不用填写配置环境,编译安装的话也需要填写配置环境,对于maven指定服务器maven路径即可。

5、设置Jenkins与GitLab连接

在Jenkins中选择系统管理,在系统配置页面,找到 GitLab项,输入相关信息

对于认证信息,需要回到Gitlab中进行获取

 

复制令牌信息,回到 Jenkins中。点击 添加,添加认证信息。

测试 Jenkins 能否连接Gitlab服务器,点击Test Connection。当显式Success,代表设置成功。

 最后还需取消允许匿名访问。

 

4、Jenkins任务构建

1、在Jenkins首页创建 新任务

在创建任务页面,输入任务名称,同时选择构建maven项目。

2、选择源码管理 -> Git。设置当前Gitlab仓库地址和认证信息

对于认证信息,点击添加。在页面中,类型:Username with password。用户名:gitlab用户名 。 密码:gitlab密码。点击添加即可。

注意:如果当前是公共仓库,不需要设置认证信息。如果是私有仓库,则需要。

3、选择Build选项

 4、构建任务

返回首页,在列表中找到我们刚才创建的任务,点击右边的绿色箭头按钮,即可执行此任务。

5、自动化构建

1、配置webhook
webhook可以把它理解为是一个钩子,用于Gitlab自动触发jenkins进行任务构建。

Jenkins生成token
在Jenkins中首先需要生成当前Jenkins用户的Token信息,用于添加Gitlab的webhook时使用。

gitlab配置webhook

进入到Gitlab,选择管理员 ->设置 -> 网络 -> 外发请求。

在Gitlab中选择 管理员 -> 系统钩子。在其内部配置相关信息。

URL信息:需要对应Jenkins任务配置 -> 构建触发器的地址信息

 

Secret Token信息:Jenkins中刚才生成的令牌

 

 当配置完成,页面下方会展示对应信息,同时可对当前钩子进行测试。

 当页面上方显示 200,则当前webhook配置成功。

2、Jenkins配置Gitlab任务触发

在任务配置中选择 构建后操作 -> 增加构建后操作步骤 -> push buildstatus to gitlab

3、测试自动构建效果

本地提交代码到Gitlab,测试是否能自动触发Jenkins自动构建,当看到如下效果,测试成功。

4、自动化部署

对于自动化部署,也需要通过jenkins集合tomcat完成,最终当本地提交代码到GitLab后,可以自动 触发jenkins将项目部署在tomcat。

安装Jenkins插件

配置SSH服务器

在Jenkins首页选择 -> 系统管理 -> 系统配置 -> SSH Servers

 

 

任务配置

找到对应任务选择 -> 配置 -> 构建后操作。添加 send build artifacts over SSH

创建脚本目录和war包目录

根据上面配置,需要在服务器上创建 /opt/war 和 /opt/scripts 。war目录用户保存war包,scripts目 录用于保存shell脚本。

配置shell脚本

在/opt/scripts目录下创建 tomcat.sh文件,作为shell执行脚本,其内容如下:

#!/bin/bash
set -x
PROJECT_NAME=$1
TOMCAT_HOME=/usr/local/tomcat/tomcat_$PROJECT_NAME/bin
PROCESS=`ps -ef |grep tomcat_$PROJECT_NAME|grep -v grep|wc -l`
if [ $PROCESS -eq 0 ];then
echo "run starting tomcat"
sh $TOMCAT_HOME/startup.sh
else
sh $TOMCAT_HOME/shutdown.sh
if [ $? -eq 0 ]; then
sh $TOMCAT_HOME/startup.sh
else
for pid in `ps -ef |grep $tomcat_$PROJECT_NAME|grep -v grep |awk '{print
$2}'`;do kill -9 $pid;done
sh $TOMCAT_HOME/startup.sh
fi
fi
echo "Sucessfull ...."

使用规范问题

(1)当前是一个项目一个tomcat,tomcat命名要有规范:tomcat_项目名称。

(2) 当部署完成后,如果无法访问项目,而是访问tomcat首页,则删除tomcat下的webapps目录即可。

5、测试

当在本地提交代码到GitLab后,会自动触发Jenkins对任务进行构建,构建完成后会根据任务配置执 行指定脚本,最终将项目部署在对应的tomcat上。可以远程访问。

 结果:

修改代码,提交到Gitlab,提交成功后,Jenkins中自动进行任务构建,构建成功后,会将项目部署在tomcat中。即可通过服务器进行远程项目访问。

 

标签:配置,tomcat,gitlab,maven,发布,Jenkins,jenkins
From: https://www.cnblogs.com/comprehensive/p/16600910.html

相关文章