阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用

418次阅读
没有评论

共计 4080 个字符,预计需要花费 11 分钟才能阅读完成。

Linux 下的 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用(jenkins 自动化部署)。

jenkins 自动化部署

目标:jenkins 上点构建(也可以自动检查代码变化自动构建)》》》项目部署完成。

一、安装 jenkins

1. 下载 jenkins

      这里我选择的是 war 包安装 jenkins,简单不伤脑,别的博客写的 jenkins 版本都很旧,没用最新的,写个比较新的配置 2.20 版。

官网:https://jenkins.io/index.html

WAR 包下载地址:http://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.20/jenkins.war

                             http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.32.3/jenkins.war

2. 安装 jdk 环境

     最新的 JDK 下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html  没账号注册一个,很快的

jdk-8u121-linux-x64.tar.gz
     这里选择 Linux64 位后缀 tar.gz 的复制下载链接, 在服务器上解压配置环境变量 vim /etc/profile 写在最后面

     JAVA_HOME=/data/java/jdk 的目录名字   #java 目录是我创建的,把 jdk 包解压到里面,这个写解压位置的绝对路径
     CLASSPATH=$JAVA_HOME/lib/
PATH=$JAVA_HOME/bin:$PATH   #谨慎,这里 PATH 写错了会发现命令都得打绝对路径才能用,悲催
export PATH JAVA_HOME CLASSPATH

      配置没问题完成保存,source /etc/profile 让配置的环境变量生效,这时候可以打命令 java -version 看看版本,是不是出 java version “1.8.0_***”, 如果是 1.6 什么的说明没生效,看看解压的路径。

3. 安装 tomcat

     下载地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75.tar.gz

这个什么版本都可以,别太旧了,旧的会有漏洞,解压完成试试能不能用,tomcat 目录里面 bin 目录下,./catalina.sh start 启动,访问一下,不能访问基本都是防火墙问题,能出现 tom 猫界面就可以停了,可以./catalina.sh stop, 也可以找到进程 pid,kill-9 pid 号,进到 webapps 目录里面删除所有,把之前的 jenkins.war 拷进来,启动 tomcat。我用的 8080 端口访问地址为 http:// 公网地址:8080/jenkins

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

在服务器上面 cat /root/.jenkins/secrets/initialAdminPassword 会出现让输入的密码,一串数字字母,多等一会到出现下面界面,喝了口水,三分钟过去了,出现了接下来的界面

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

这个就是说推荐安装还是自己选,需要的包后面可以装,我点了第一个,知道用什么插件点第二个也可以这样装的包少一点。安装的插件都在 /root/.jenkins/plugins/ 下面。

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

直接选择 continue as admin

 Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

开始使用,点击就会进来

 Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

     admin 用户登录还不知道密码是什么,我猜是 /root/.jenkins/secrets/initialAdminPassword 这个里面的密码,http:// 这个地方打 ip:8080/jenkins/user/admin/configure 修改 admin 密码,也可以点系统管理,在里面找管理用户,点屏幕中上方的 admin 进去最下面修改密码保存。

二、安装 Maven(用来构建项目)

     官网地址:http://maven.apache.org/download.cgi

     下载地址:apache-maven-3.3.9-bin.tar.gz

     配置环境变量:vim  /etc/profile 写到最后,我用的 3.3.3 的版本

     export M2_HOME=/data/apache-maven-3.3.3
     export M2=$M2_HOME/bin
     export PATH=$M2:$PATH

三、安装 git

     下载地址:https://github.com/git/git/releases

     噗,下载地址想下载可以下载,然后编译安装,git 主要是用于 jenkins 用 git 命令获取我们自己搭建的 gitlab 上面的代码,我 yum install git 了,这有个问题还报错了,一定要看好 git 可以用的命令绝对路径在哪里,yum 装的在 /usr/bin/git,你可以试下 /usr/bin/git –version,不管是 1.7 版还是 2.3 版能用就可以。

四、配置 jenkins

     jenkins 因为配置原因出错千千万,一步一报错,天天有惊喜,下面配置是把坑都填好的。

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用 

1. 添加插件

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

选择可选插件,过滤搜索

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

 选择直接安装也可以,重启后安装也可以,用什么功能搜一下安装没,没安装装上就好,我看了已经安装的,比自己选安装的安装的多很多。。。

 很多教程都装 Deploy to Container Plugin,这个可以把包从运行的 tomcat 的项目 http 地址上直接发到项目服务器的目录下,windows 上我试了可以,linux 这个东西没用它,都是 linux 服务器 scp 过去就好了,windows 上面包发过去了不会写脚本,还是 shell 脚本简单。

2. 工具配置

 Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

jdk 别名叫啥都可以,路径写对,写你 jdk 环境变量配置的路径,写错了会出现 ERROR: Failed to parse POMs java.io.IOException: Cannot run program*** 错误

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

git 的地址要写的是 git 这个命令的地址不是目录的地址,yum 装的自然是 /usr/bin/git,之前不是 yum 装的装的写 /usr/local/git 报错找不到 git 命令,在服务器各种试 git 都没问题,看配置以为 jenkins 看不见呢,装了好几个版本的 jenkins,找了 N 久才找到应该写 /usr/local/git/bin/git 

 Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

 写完保存就好,接下来系统配置

3. 系统配置

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

 这个配置费劲九牛二虎之力,在 N 次报错后遍寻错误无解时候,在系统提供的英文文档里面偶然看到其中一个回答,好长好长看到其中一句,试了试竟然成功了,沃德天!

五、构建项目

 点击新建,出现下图,名字随便起,选择构建一个 maven 项目

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

连接 git,我们是自己搭的 gitlab,需要在 gitlab 上搜索 ssh 或者 key,找到一个 ssh keys 字样的,把 jenkins 服务器的公钥放在上面,另外

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

这个里面添加一个 jenkins 服务器 root 用户的私钥

发现 gitlab 服务器的私钥也可以,估计是因为 gitlab 页面上也放了 gitlab 的公钥,看来配对的公私钥就可以,有兴趣的可以试试。

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

 

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

选择这个这里面可以写脚本,我下面写这个相当于脚本里的命令去远程执行另一个脚本

 写完好久了,今天 jenkins 做了一个迁移,完善前面的,把后面的再补上

Linux 下 Jenkins+Tomcat+Maven+Gitlab+Shell 环境的搭建使用

如图,后面的功能都是用脚本写的,jenkins 和 org 互相做了免密登录,在 jenkins 上可以直接用 /usr/bin/ssh root@org 的 ip “ 要执行的命令 ” 

/bin/bash /dat****/org.sh  在 org 上执行这个脚本

过程:jenkins 调用 git 把 Gitlab 上的代码下载到 jenkins 服务器,maven 构建成 war 包,调用 ssh 运行 shell 脚本完成备份,停服务,清 webapps,拷 war 包到 tomcat 下,起服务,说起来好简单啊。。。

自己摸索着搭,各种找错误,搭了两星期才搭好,今天迁到别的服务器上几个小时就搞定了,经过几个月的使用,jenkins 确实是自动化的利器,写好脚本一键搞定。

 

局域网内利用 GitLab+Jenkins 自动生成 GitBook 并发布 (Nginx)  http://www.linuxidc.com/Linux/2016-05/131136.htm

Linux+Git+Maven+Jenkins+Neuxs 自动化编译环境搭建 http://www.linuxidc.com/Linux/2016-02/128652.htm

CentOS6 安装 Jenkins  http://www.linuxidc.com/Linux/2016-05/131365.htm

使用 Jenkins 配置 Git+Maven 的自动化构建 http://www.linuxidc.com/Linux/2016-02/128641.htm

Jenkins+Maven+Git 搭建持续集成和自动化部署的配置手记 http://www.linuxidc.com/Linux/2015-06/118606.htm

Jenkins 的分布式构建及部署——节点  http://www.linuxidc.com/Linux/2015-05/116903.htm

Jenkins 持续集成环境快捷部署  http://www.linuxidc.com/Linux/2017-05/143624.htm

在 Ubuntu16.04 中用 Apache 部署 Jenkins 自动化服务器  http://www.linuxidc.com/Linux/2017-05/143607.htm

Jenkins 的详细介绍 :请点这里
Jenkins 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143970.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4080字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7971044
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...