ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## :-: 打包发布远程执行 #### **第一步:配置jenkins** 1、jenkins安装完成后,首先进行插件的下载(Jenkins页面→Manage Jenkins→Manage Plugins)需要安装的插件有:Publish Over SSH;Maven Integration;GitLab Plugin;GitLab Hook Plugin;GitLab Authentication plugin;GitLab API Plugin;Git;Git client Plugin;Git Parameter Plug-In ![](https://img.kancloud.cn/04/2f/042f1ea9e4cc981be81cfb3c6ab4fef0_1593x764.png) 2、插件安装完成后,我们进行全局的配置(Jenkins页面→Manage Jenkins→Global Tool Configuration),其中包括Maven、jdk、git的配置 ![](https://img.kancloud.cn/ad/f6/adf6996f245cc9169e27683d62a36f9d_994x377.png) 安装git ``` yum install git ``` ![](https://img.kancloud.cn/cc/ed/cced1ba6f41706ce75ce71a3dfe4b343_899x493.png) ![](https://img.kancloud.cn/c6/50/c65097404c754c2d8be4ce68cd114f6c_985x333.png) ![](https://img.kancloud.cn/6a/a7/6aa764f8b31c53c592343fa95c9f9918_980x375.png) 3、全局配置完成之后,进行系统配置(Jenkins页面→Manage Jenkins→Configure System),主要是配置ssh服务 我通过http登录的方式连接的,直接输入用户名和密码即可,也可以通过点击高级进行ssh方式的连接,给当前的root用户生成密钥,将私钥配置配置给Jenkins用户,将公钥配置到目标服务器 #### **第二步:创建任务** **1、创建任务** 因为我们需要对项目进行打包,所以我们选择构建一个maven项目,然后对项目进行一系列的配置 ![](https://img.kancloud.cn/c0/6b/c06b901f91a96dcf02f5f3ba09a84180_897x413.png)\*\*\*\* **2、配置任务** **A:git源码配置** #### ![](https://img.kancloud.cn/94/dc/94dc1e45816460dd4d8023459c9eca99_943x573.png)\*\*\*\* **B : 构建触发器** ***** ![](https://img.kancloud.cn/be/b0/beb0291acb7e46e845f35225b5d6481d_977x569.png)\*\*\*\*![](https://img.kancloud.cn/71/a5/71a54ee506fae71c7761033062db495a_934x530.png)\*\*\*\* ***** ![](https://img.kancloud.cn/ea/e7/eae78dd02f38aed52870be7c1f71c8ec_1004x679.png) ![](https://img.kancloud.cn/a5/2f/a52f65f4e6b219406c240cacf60b6d8a_909x566.png) ``` cd /usr/xh/apps/xh-service-trade && sh start.sh restart && ps -aux |grep -v grep | grep java ``` ``` 备注:如果不需要SSH传输打包文件 可直接执行Shell命令 如下 OLD_BUILD_ID=$BUILD_ID echo $OLD_BUILD_ID BUILD_ID=dontKillMe cp /var/lib/jenkins/workspace/hmall-service-auth-jwt/target/hmall-service-auth-jwt.jar /usr/hj/apps sh /usr/hj/apps/authJwt.sh restart ``` ![](https://img.kancloud.cn/08/ee/08eed5e394e39e79a740233984d27a65_930x426.png) ``` #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 export JAVA_HOME=/usr/local/java/jdk1.8.0_211 APP_NAME=hmall-service-market.jar FULL_PATH=/usr/hj/apps/hmall-service-market.jar #启动方法 start(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then echo "$APP_NAME is already running. pid=$pid ." else nohup $JAVA_HOME/bin/java -jar $FULL_PATH --spring.profiles.active=test >/dev/null 2>&1 & echo $! echo "$APP_NAME now is running" fi } #停止方法 stop(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then kill -9 $pid echo "Pid:$pid stopped" else echo "$APP_NAME is not running" fi } #输出运行状态 status(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then echo "$APP_NAME is running. Pid is ${pid}" else echo "$APP_NAME is NOT running." fi } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in start) start ;; stop) stop ;; status) status ;; restart) stop sleep 5 start ;; *) echo "Usage:{start|stop|status|restart}" ;; esac exit 0 ``` ## # jenkins 构建出现 permission-denied问题 ### jenkins构建权限问题 1.修改jenkins配置 检查jenkins配置配置文件,将执行用户改成root,不然后面可能出现执行shell没有权限 ~~~ vim /etc/sysconfig/jenkins # 编辑文件 JENKINS_USER="root" # 改成root ~~~ 2.修改jenkins的用户与组 ~~~ cd /var/lib chown -R root:root jenkins # 重启jenkins服务 service jenkins restart ~~~ ### ## ## 第三步:配置GitLab ![](https://img.kancloud.cn/b2/03/b203ede13688027f7f457571fbadec46_1596x738.png) ![](https://img.kancloud.cn/bc/2e/bc2e0a17d3b28d530d40b2a0810453dc_1593x744.png) ![](https://img.kancloud.cn/c0/a2/c0a23d13aabb5c90176e9781e2e4006c_1289x604.png) **这样我们自动化部署就构建完成了**