当前位置: 首页 > article >正文

Jenkins在Windows上的使用(二):自动拉取、打包、部署

(一)Jenkins全局配置

访问部署好的Jenkins服务器网址localhost:8080,完成默认插件的安装后,接下来将使用SSH登录远程主机以实现自动化部署。

1. 配置插件

选择dashboard->Manage Jenkins->plugins
在这里插入图片描述
安装下面两个插件  
Publish over SSH
Deploy to container Plugin

2. 配置远程主机

在dashboard->Manage Jenkins->system下配置远程主机的ip、用户名、密码等
在这里插入图片描述

3.配置maven、git、jdk的路径

在dashboard->Manage Jenkins->tools里配置

  • 修改maven的配置文件路径、根目录
    在这里插入图片描述在这里插入图片描述

  • 配置git路径
    在这里插入图片描述

  • 配置jdk路径
    在这里插入图片描述

(二)新建item

新建item,输入任意的名称,进入item配置

1. 选择github项目,配置项目的仓库地址、用户、密码

在这里插入图片描述密码不是直接填写的,在【添加】选项里完成“密码本”的配置

2.配置maven命令

这里是先clean然后install
在这里插入图片描述

3. 配置需自动上传的jar包和自动部署的脚本

demo1是远程主机的名称
Source files是需要自动上传到远程主机的jar包,路径容易填错,可以填**/*.jar,再根据之后实际传过来的文件修改这个配置
Remove prefix是需要抹掉的文件前缀,例如target/
在这里插入图片描述Exec command放需要执行的脚本命令

启动脚本start.sh举例

#!/bin/bash

echo 'Start the program : demo-start-0.0.1-SNAPSHOT.jar'
chmod 777 /var/www/jenkins/demo1/demo-start-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'

nohup java -jar /var/www/jenkins/demo1/demo-start-0.0.1-SNAPSHOT.jar > myapp.log 2>&1 &
echo 'start success'

关闭脚本stop.sh举例

#!/bin/bash
echo "Stop Procedure"
pid=`ps -ef |grep java|grep demo-start-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi

(三)测试及一些遇到的坑

  • 在主面板开始构建项目,测试效果
    在这里插入图片描述
  • 如果jar包运行时显示【没有主机清单】,在pom配置里添上<skip>false</skip>
   <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.13</version>
                <configuration>
                    <mainClass>com.example.demo.DemoApplication</mainClass>
                    <skip>false</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 使用nohup运行jar包时要把错误重定向到指定文件或者合并到标准输出中
    nohup java -jar xxx.jar > myapp.log 2>&1 & 合并标准错误和标准输出
    nohup java -jar xxx.jar > myapp.log 2> error.log & 将标准错误重定向到error.log文件
    nohup java -jar xxx.jar & 这个写法不会记录错误,只会将错误信息显示在终端

http://www.kler.cn/a/576309.html

相关文章:

  • 【uniapp】图片添加canvas水印
  • FFmpeg入门:最简单的音视频播放器
  • Docker 部署
  • 六、Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream
  • Webpack、Parcel、Rollup、esbuild、Vite、Next.js前端构建工具
  • 分布式泵站无线统管终极方案:1站1机,GRM242Q-C集群直通中控大屏(老型号GRM232Q-C)
  • 米尔基于STM32MP25x核心板Debian系统发布,赋能工业设备
  • 轻闪PDF(Windows傲软PDF编辑软件)2.15.2中文安装版
  • 重塑未来:生成式AI如何重构企业数据基因?三大技术重构的生死局
  • Swift系列01-Swift语言基本原理与设计哲学
  • T31ZC 君正SOC芯片 应用于智能家居、工业控制等 满足各种嵌入式应用的需求 提供样品测试+软硬件资料
  • 奇安信 2025 年护网蓝队初选笔试题(附答案解析)
  • 物联网 全部技术栈和实现方案
  • vue3中emits
  • Linux15-epoll、数据库
  • 数据库复习(第五版)- 第十一章 并发控制
  • 【js逆向】图灵爬虫练习平台 第十五题
  • OWL-开源多智能体协作系统,动态交互实现任务自动化
  • Spring Boot 监听器(Listeners)详细教程
  • 库制作与原理