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

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

126次阅读
没有评论

共计 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、短信等云产品特惠热卖中