java安装1618_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

26fbc80f149b254ad3d12beecf8091d0.png

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

2c32a07dacdea968a125997c5862cd1c.png

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

11a5e3d00d0d8737469046e0367cccee.png

216afa0057a19efbc23ededc3e0f5e02.png

直接选择 continue as admin

ea22be15b870ccde9bc023eb023dff34.png

开始使用,点击就会进来

c8926e4126488eb77a2eb5d933350a62.png

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

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

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

配置环境变量: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 因为配置原因出错千千万,一步一报错,天天有惊喜,下面配置是把坑都填好的。

2d0a524b925054285b67c9887a1047a9.png

1. 添加插件

b3afc7605bb6acfc1123d1864054eb81.png

cc04e45301c14ab4d5318489c732909d.png

选择可选插件,过滤搜索

22b598a9214de797c2d2db52e2ce366b.png

127e1553d625707eaa979253b70c295b.png

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

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

2. 工具配置

78981e1f00a51c4f6546de671c94805f.png

60b9588032ca3e9aa9ecd870e1d0a164.png

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

8baed1a71ec7795264fa196e3c75d520.png

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

8ae539623d44c399d1c8279c4eb2eacc.png

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

3. 系统配置

b535e919cc457cf70f76bdeb2c27c125.png

6e4fc83eeffc2fd732f8442881ee63f1.png

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

五、构建项目

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

5dbb43d2bbcb912d829953e071a098c2.png

11b6d5272b21bac871a540a7d69f8379.png

da882838e8c4542c1224aca3c6d2cad4.png

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

8ff93d86b69cfdca73fc3e57a2d06d34.png

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

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

60c20542e6f570173f5029c9e5eee47e.png

f8bdc9ee386d4243e478ded38e809b78.png

8486dbf936ecba0c65d277ab3aa1efd9.png

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

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

1e15419ea21cf271ac9cac80f82c5965.png

如图,后面的功能都是用脚本写的,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 确实是自动化的利器,写好脚本一键搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值