美文网首页
持续集成

持续集成

作者: 倔强_2722 | 来源:发表于2022-01-14 13:51 被阅读0次

    打包配置

    1. httpclient测试代码打包:
     <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.7.1</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>
                                  ./src/main/resources/testng.xml
                            </suiteXmlFile>
                        </suiteXmlFiles>
                    </configuration>
                </plugin>
            </plugins>
    
        </build>
    
    1. springboot集成代码打包:
     <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <mainClass>com.test.StartApplication</mainClass>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                        <compilerArguments>
                            <extdirs>${project.basedir}/lib</extdirs>
                        </compilerArguments>
                    </configuration>
                </plugin>
    
            </plugins>
        </build>
    

    Jenkins--shell脚本

    #/bin/bash
    source /etc/profile
    pid=$(ps x | grep "springbootTest-1.0-SNAPSHOT.jar" | grep -v grep | awk "{print $1}")
    if  [ -n "$pid" ] ;  then
    kill -9 $pid
    fi
    mvn clean package
    pwd
    cd target
    BUILD_ID=dontKillMe
    nohup java -jar springbootTest-1.0-SNAPSHOT.jar &
    

    问题整理:

    shell脚本踩坑记录:
    对于上面的脚本,看网上的教程都是一样的写法,但是于我却总是有问题,找了很久的脚本问题终于知道原因,原来脚本对格式的限定很严格。

    1. 脚本中变量名和等号间不允许有空格
    pid=$(ps x | grep "springbootTest-1.0-SNAPSHOT.jar" | grep -v grep | awk '{print $1}')
    

    2.if判定条件中,“[”,“]”前后需要添加空格

    if  [ -n "$pid" ] ;  then
    

    3.PATH 命令覆盖

    PATH='pwd' #报错代码
    ps aux | grep -v grep | wc -l
    
    test_path='pwd' #正确代码
    ps aux | grep -v grep | wc -l
    

    配置了脚本后,执行集成操作,Jenkins执行成功后,本地搭建的环境却无法通过IP访问,一直连接不到服务。后来查询发现在shell脚本是pre steps,完成后在build处还有操作,需要在goals and options添加脚本:


    image.png

    脚本配置参考:https://juejin.cn/post/7012971055182512135

    持续集成终于让我搞定了,开心!

    相关文章

      网友评论

          本文标题:持续集成

          本文链接:https://www.haomeiwen.com/subject/mklocrtx.html