公司之前都是在是本地的Windows Server,这次申请了一台阿里云的Linux服务器(CentOS7.6),第一次在Linux下部署Jenkins,记录一下。
这台服务器本身是什么都没有的,用到的东西都要自己安装,由于我是PC端远端链接服务器,所以需要提前在自己的Pc上下载Xshell安装并链接阿里云,如何使用Xshell自行百度。
一、下载上传工具:
我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输。
1. 链接一台Linux服务器
2. 输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz命令进行安装。
3. 安装成功后,输入rpm命令确认是否正确安装
4. 使用 rz -y命令进行文件上传,此时会弹出上传的窗口:
5. 选择要上传的文件,点击确定即可将本地文件上传到Linux上,如图表示成功上传文件
6. 使用ls命令可以看到文件已经上传到了当前目录下,完成这些之后就可以去安装JDK了
二、安装配置Java和Maven
1. 下载JDK8和Maven(3.6.0-bin.tar),登录网址:点击跳转至下载链接
选择对应jdk版本下载。(Tips:可在Windows下载完成后,通过FTP或者SSH到发送到Linux上)
2. 登录Linux,切换到root用户
su root
获取root用户权限,当前工作目录不变(需要root密码)
或者
sudo -i
不需要root密码直接切换成root(需要当前用户密码)
3. 将java和maven拷贝到java目录下
mkdir /usr/java/
创建目录
cp /home/jdk-8u201-linux-x64.tar.gz /usr/java/
cp /home/apache-maven-3.6.0-bin.tar.gz /usr/java/
4. 跳转到/usr/java/解压
tar -zxvf jdk-8u201-linux-x64.tar.gz
tar -zxvf apache-maven-3.6.0-bin.tar.gz
5. 安装完毕为java建立一个链接以节省目录长度
ln -s /usr/java/jdk1.8.0_201/ /usr/jdk
6. 编辑配置文件,配置环境变量
vim /etc/profile
在文本的末尾添加如下内容:
export PATH JAVA_HOME CLASS_PATH MAVEN_HOME
MAVEN_HOME=/usr/java/apache-maven-3.6.0
JAVA_HOME=/usr/java/jdk1.8.0_201
CLASSPATH=$JAVA_HOME/lib/
PATH=.:$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin
8. 重启机器或执行命令 :
source /etc/profile
sudo shutdown -r now
9. 查看安装情况
java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/java/apache-maven-3.6.0
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"
分别弹出以上内容说明安装成功。
ps:可能出现的错误信息:
bash: ./java: cannot execute binary file
出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,
1、查看jdk版本和Linux版本位数是否一致。
2、查看你安装的Ubuntu是32位还是64位系统:
三、安装tomcat和Jenkins:
安装Tomcat
1. 官网下载tomcat tar包
通过rz上传到 linux服务器
2. 解压缩
tar -zxvf apache-tomcat-8.5.38.tar.gz
3. 将解压后的文件夹移动过去
mv apache-tomcat-8.5.38 /usr/java/
4. 将Jenkins.war放到webapp目录下
rz
命令上传
复制到/usr/java/apache-tomcat-8.5.38/webapps
即可
5. 进入tomcat目录
cd /usr/java/apache-tomcat-8.5.38/bin/
6. 运行tomcat
运行之前先执行下面的关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
./startup.sh
启动服务
./shutdown.sh
关闭服务(不需要关闭,做下记录)
7. 打开浏览器访问tomcat主页、Jenkins
http://{ip address}:8080
http://{ip address}:8080/jenkins
如果可以正常访问,则部署成功
8. Jenkins的更新和卸载
rm -rf /root/.jenkins/ ##删除主目录下的Jenkins文件
rm /usr/java/apache-tomcat-8.5.38/webapps/jenkins.war #删除Jenkins
rm /usr/java/apache-tomcat-8.5.38/webapps/jenkins #删除Jenkins文件夹
四、安装过程中遇到的问题记录:
一、 tomcat主页可以打开,但是Jenkins无法打开404
解决思路:
- 查看jenkins根路径下logs文件夹
详细可以查看localhost.2016-04-11.log
查看log后发现以下问题:
31-Oct-2018 12:07:19.001 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [jenkins.JenkinsHttpSessionListener]
java.lang.UnsupportedClassVersionError: jenkins/JenkinsHttpSessionListener : Unsupported major.minor version 52.0 (unable to load class [jenkins.JenkinsHttpSessionListener])
则我们的jdk版本不正确
- java -version 发现版本不是1.7.0,但是自己装的确实是1.8.0
- 查看java-home环境变量发现指向的是1.7.0,修改为1.8.0的路径
- 保存后,重启tomcat,访问成功
二、 阿里云服务器无法访问80或8080端口的
详见这篇文章
https://www.cnblogs.com/klmei/p/7055571.html
三、 关闭防火墙
五、其他
tomcat读取的是系统环境,所以只要系统安装了python3,jenkins shell脚本就可以直接使用python3命令