Jenkins下载安装、构建部署到linux远程启动运行
Winodws下载安装Jenkins
1、官网下载安装包:https://www.jenkins.io/
2、把下载好的jenkins.war 使用Java -jar jenkins.war命令启动
3、安装成功,浏览器输入:localhost:8080/ 登录Jenkins。C:\Users\Administrator.jenkins\secrets\initialAdminPassword文件里找到密码。
4、选择默认安装插件 install suggested plugins
5、Jenkins修改密码
6、实例配置中Jenkins Url:配置 http://localhost:8080/jenkins/
一、Jenkins配置
Plugins插件管理
1、汉化插件
系统设置主页(Dashboard)最左侧—》点击Mange Jenkins(系统管理)
汉化插件:下滑找到 Plugins(插件管理),在plugins installed(已安装插件)选项
查找插件 Locale plugin 和 Localization: Chinese查看是否安装
2、Maven插件
在Jenkins的Manage Jenkins页面,选择Manage Plugins(插件管理)。
在可选插件(Available),输入关键词"Maven Integration Plugin"
安装完成后,记得重启Jenkins服务让新插件生效。
3、重启Jenkins:Restart Safely插件
在manage Jenkins(系统管理)—》Install as Windows service中安装Windows服务。
安装目录为:C:\Users\Administrator.jenkins
在 Jenkins 插件管理器中搜索 “Safe Restart” 插件并安装。
然后在 manage Jenkins(系统管理)最下面。点击 “Restart Safely” 选项进行重启。
4、文件传输:Publish Over SSH
在“可选插件”选项卡中,搜索Publish Over SSH插件
5、gitee插件
在“可选插件”选项卡中,搜索Gitee插件
6、清理插件:workspace cleanup
system系统配置
1、Gitee配置
Gitee配置:之前已经安装好了Gitee插件。在Mange Jenkins选项—》system(系统配置)—》下滑找到Gitee配置
点击链接登录自己Gitee账号生成令牌填入栏中
生成的令牌复制到本地
链接名随便取名自定义的,域名是http://gitee.com
再点击添加,类型选择Gitee的API令牌,将刚刚生成的令牌复制过来,ID不用写
点开【高级】,勾选忽略SSL检查
选择令牌,测试是否成功
2、SSH配置
Manage Jenkins—》 Configure System—》下滑找到Publish over SSH –> 新增 –> 配置下面的信息
点击高级,设置Linux服务器登录密码。
3、Security全局安全配置
主页(Dashboard)—》系统管理(manage Jenkins)—》Security(全局安全配置)里配置:允许注册和授权(根据自己的需求配置)
4、Tools全局工具配置
主页—》系统管理—》Tools(全局工具配置)—》第一个Maven配置(根据自己系统的maven路径配置)
主页—》系统管理(管理Jenkins)—》Tools(全局工具配置)—》JDK设置(根据自己系统的JDK路径配置)
5、git安装目录配置
主页—》系统管理(管理Jenkins)—》Tools(全局工具配置)—》git设置(根据自己系统的git路径配置)
6、maven安装目录配置
主页—》系统管理—》Tools(全局工具配置)—》第二个maven配置(根据自己系统的maven路径配置)
其他的工具配置如docker,NodeJS,Ant等工具省略配置,根据需求配置即可。
二、Jenkins关联Gitee:构建,编译
新增Jenkins任务
1、新增任务
2、构建maven项目
输入项目名称,之前安装了maven插件,现在可以选择构建maven项目,确定
3、Jenkins关联gitee
构建和编译项目:build
1、配置build
找到项目,点击配置
这里我们配置build中的Root Pom,以及代码编译和打包命令:
clean install -DskipTests先clean再install。会执行测试代码编译和打包,但在运行测试时会跳过测试阶段,即不会执行单元测试代码。
-Dmaven.repo.local=e://repository_common在本地路径寻找maven仓库,避免每次构建都下载jar包
2、立即构建:build now
3、查看构建文件
查看是否构建成功:jar文件所在地
C:\Users\Administrator.jenkins\jobs
C:\Users\Administrator.jenkins\workspace\test_api\target目录下查看是否有jar文件生成
查看Jenkins服务器
Jenkins服务器上对应项目—》点击项目名
点击工作空间
点击模块
]查看最后一次构建结果
点击工作空间,springboot_base-0.0.1-SNAPSHOT.jar文件会存放在target目录下
- 注意:
- 再次构建前要把C:\Users\userName.jenkins\workspace的文件手动删除不然会失败。可以设置自动删除
- workspace介绍:工作空间,可以随便删除,删除后再次构建时间可能会比较长,因为要重新获取一些资源
三、构建环境和构建后操作:部署
配置构建环境
勾选Delete workspace before build starts以后,就会自动清理workspace了,就不用我们手动清理了。确保在构建前能清理工作空间
勾选Add timestamps to the Console Output:在控制台最左侧一列添加输出日志的时间
Post Steps(后置步骤)
帮助我们运行一些cmd命令或者shell命令。例如选择Execute Windows batch command,就是执行cmd命令
1、配置构建后操作:发送jar文件到Linux服务器
新增构建后操作,选择Send build artifacts over SSH,之前安装了对应插件所以这里可以选择
配置服务器名称,填写构建好以后的文件位置(相对路径),去除前缀
点击高级,勾选Verbose output in console。把ssh插件的日志打印到控制台
指定Linux服务器的路径,jar包会从Jenkins上传输到这个目录,如果路径不存在,会自动创建目录。
脚本命令:
#!/bin/bash
echo "Stop Procedure : springboot-api-0.0.1-SNAPSHOT.jar"
#查找springboot_base-0.0.1-SNAPSHOT.jar的进程
pid=`ps -ef |grep java|grep springboot-api-0.0.1-SNAPSHOT.jar| grep -v grep |awk '{print $2}'`
echo 'old Procedure pid:'$pid
#如果找到了pid就结束进程
if [ -n "$pid" ]
then
kill -9 $pid
#退出if
fi
echo 'Start the program : springboot-api-0.0.1-SNAPSHOT.jar'
#给springboot_base-0.0.1-SNAPSHOT.jar权限 777
chmod 777 /data/project/jdk_test/home/springboot-api-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'
#进入jar包所在目录
cd /data/project/jdk_test/home/
#启动jar包
#使用主机java环境启动应用
nohup /usr/local/java/jdk-18.0.2.1/bin/java -jar springboot-api-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &
#docker exec -it jdk nohup java -jar /data/project/jdk_test/home/springboot-api-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &
echo 'start success'
2、查看控制台输出的日志
3、查看是否部署成功
三、Jenkins相关操作
Jenkins启动,停止和重启
到Jenkins路径下使用命令:
java -jar jenkins.war
停止Jenkins服务,到Jenkins路径下使用cmd命令:
net stop jenkins
Jenkins服务再启动,到Jenkins路径下使用cmd命令:
net start jenkins
重启Jenkins,在浏览器地址后加上restart
http://localhost:8080/restart
原文地址:https://blog.csdn.net/qq_38407462/article/details/143836047
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!