背景
背景介绍:由于工作原因,小编申请新的服务器环境需要搭建Jenkin环境部署项目,新的服务器上项目部署用的环境和依赖基本上为零,小编没有求助运维的帮助,想尝试一下自己搭建,毕竟自己动手能遇到很多“坑”,提升自己的经验和解决问题的能力;
服务器搭建过程中,自己确实也遇到了很多的问题,故整理一份笔记,希望能将自己遇到的坑分享出来,能够帮助第一次搭建Jenkins伙伴快速解决一下问题;
服务器环境已经搭建完成并正常使用,笔记却迟迟没有整理,趁着周末小编整理发布一下;
环境准备
关于对Jenkins的介绍,小编就不再详细介绍了,毕竟这种理论性的文章,网上百度一大堆,切勿做“伸手党”,感兴趣的大家自行百度;
首先搭建Jenkins,必须要安装JDK开发环境;
安装JDK
对于JDK的安装,是学习Java语言的入门必备,相信大家都应该可以自行解决,不再阐述
对于Linux环境的服务器安装请移步参考《阿里云安装Jdk1.8,So easy!》
- 对于新的windows服务器 ipconfig命令无法执行 解决方案: 临时解决方案:1):先输入cd C:windowssystem32 再输入ipconfig; 永久性解决方案:2)我的电脑----->属性------>高级系统设置------>环境变量------>在系统变量中找到path变量,加入C:windowssystem32
Tomcat
对于Tomcat的安装过程不再细说,可以选择解压缩和安装两种方式安装;
小编直接选择的解压缩方式安装Tomcat,直接阐述小编之间遇到的问题:
- 问题一:.注意tomcat启动项目,使用startUp.ext启动过程中,不能关闭窗口,非后台进程; 解决方案:
- tomcat 注册成服务,使用命令方式;
- 以管理员身份运行 cmd C:sofwareTomcat8apache-tomcat-8.5.64bin
2.输入:service.bat install service_name
安装成服务即可,此种方式是解决以解压缩方式安装的tomcat
- 问题二:日志乱码问题: 修改配置文件解决:
将logging.properties中的编码方式设置为GBK;如图:
- 其次修改日志文件存储位置: 默认放在tomcat,bin目录下:
按照需求修改文件存储位置:
maven
maven安装应该是比较简单的,阐述一下步骤:
- 官网下载安装包或者解压缩包;
- 配置环境变量;
- 修改配置文件; 1.修改下载依赖包的存储位置; 2.修改镜像,改变阿里云仓库; 参考小编的文章:《优雅地配置Maven仓库》
安装Jenkins
安装
下面进入这篇文章的正题:安装Jenkins;
jenkins下载地:https://jenkins.io/;
- 基于JDK环境搭建,因此上述环境中我们已经完成,其中安装过程中需要注意设置Jenkins端口;
- 安装完成,从浏览器中访问http://localhost:Jenkins端口/jenkins,此处需要从日志文件中获取登录密码; 注意:此处端口是安装过程中设置的;
- 登录Jenkins设置密码: 为了安全考虑,会生成一串字符口令! 进入对应的路径,打开该文件,将对应的字符复制进输入框内,点击继续按钮,等待安装成功。此处的密码位于日志文件中:
用文本编辑器打开initialAdminPassword文件,将那串密码复制下来即可;
整个安装过程推荐参考:https://blog.csdn.net/weixin_43184774/article/details/104428244
安装过程相信大家应该都没有什么问题。。。
重点是安装配置插件等问题:
解决无法下载插件
Jenkins下载插件的时候,出现如下报错:
SunCertPathBuilderException: unable to find valid certification path to requeste
踩坑来了。。。。
1、Jenkins的更新站点改为:
http://mirror.xmission.com/jenkins/updates/update-center.json
2、修改updates文件夹的default.json文件,我的路径是:
C:WindowsSystem32configsystemprofileAppDataLocalJenkins.jenkinsupdates
将文件中的**updates.jenkins.io/download **全部替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
我的是updates.jenkins.io/download,有的人是updates.jenkins-ci.org/download;
将http://www.google.com/ 替换为 https://www.baidu.com/
3、新建一个文件夹,使用git拉取证书程序。
git clone https://github.com/escline/InstallCert.git,下载证书程序
4.打开cmd,cd进入刚才的git目录,javac InstallCert.java编译程序
5.再使用命令:java InstallCert mirrors.tuna.tsinghua.edu.cn。
运行InstallCert类,出现提示后按1回车;会生成jssecacerts 文件:
6.删除目录位置:%JAVA_HOME%jrelibsecurity原有的cacerts文件,将新复制进来的jssecacerts文件重命名为cacerts。
最后重新启动jenkins,证书方可生效。
安装中文插件
- 安装中文插件:
- Jenkins安装后成功后是英文,这时只需要装两个插件就可以切换成中文 备注:我的已经安装过,没有安装在【可选插件】里面选择安装
2, 系统管理->系统设置
- 重启Jenkins后,中文生效 http://IP:端口/restart
解决参考:
https://blog.csdn.net/xc_zhou/article/details/106201757(未解决)
windows环境推荐解决方式:https://blog.csdn.net/hzau_boy/article/details/114373469(解决)
https://blog.csdn.net/liuxiaoming1109/article/details/88987881
- 安装完插件之后,需要配置全局变量:maven,git,jdk,tomcat; 推荐参考资料:https://blog.csdn.net/Crazy_young_man/article/details/109775899
构建项目
- 开始构建项目,此时会遇到的问题,构建失败,排查maven仓库,阿里云地址;
- 构建成功之后,安装deploy plugin 本以为结束了,结果呢???继续解决问题: 以war包形势部署到Tomcat 修改Tomcat配置,使Tomcat允许远程访问
- 先修改$CATALINA_HOME/webapps/manager/META-INF/context.xml为
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<!-- 注释掉下面一行 -->
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.d .d .d |::1|0:0:0:0:0:0:0:1" /> -->
<Manager sessionAttributeValueClassNameFilter="java.lang.(?:Boolean|Integer|Long|Number|String)|org.apache.catalina.filters.CsrfPreventionFilter$LruCache(?:$1)?|java.util.(?:Linked)?HashMap"/>
</Context>
在$CATALINA_HOME/conf/tomcat-users.xml中添加用户名和密码;
代码语言:javascript复制<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager"/>
//依据自己实际情况为准
<user username="tomcat" password="tomcat" roles="manager-gui,admin,admin-gui,manager,manager-script"/>
解决入站规则
- 解决项目在tomcat服务器上部署完后,本地浏览器可以访问,而在外网上输入URL却无法访问。 解决方法: 1、控制面板——>系统和安全——>Windows防火墙——>高级设置 2、入站规则 3、新建规则… 4、端口——>协议和端口——>下一步 5、特定本地端口:8080——>下一步 8、规则名称:tomcat服务器8080端口——>完成
总结
总而言之,安装过程中遇到了不少问题,但是总好能够一点点被解决,总是有先者踩坑分享解决方案,对于日常工作中大家遇到一点问题,希望能够花费点时间思考和研究,于自我而言总是一种成长;虽然此次自己花费了太多得时间安装和部署项目,总归是自己一手完成的,内心是喜悦的,记住,时间允许内,尽可能的让自己折腾,折腾出经验,折腾出成长,,,,致敬每一位互联网工作者,不断地开源和踩坑。
最后地最后,今天2021年5月22日,共和国痛失两位国之栋梁,国士无双,悼念~