暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker构建Devops流水线实操问题记录

979

进入Devops页面,构建流水线,选择Docker方式新建流水线

  根据自己项目方式,选择要构建的流水线名称、子模块名称,构建方式,构建 工具根据项目选择maven或者gradle。输入启动参数后,选择部署组和主机,以及对应的环境变量即可。如果之前构建过,可直接选择复制流水线进行改造。

在构建发布的过程中,以下是遇到的几个问题:

  1. 没读取到pom文件中的依赖 ,报错为: 

    Failed to execute goal on project gateway: Could not resolve dependencies for 
    project com.taikanglife.pension:gateway:jar:1.0-SNAPSHOT: Could not find artifact com.taikanglife.pension:common:jar:1.0-SNAPSHOT in maven-group-snapshots (https://repos.taikangcloud.com/repository/maven-group-snapshots) -> [Help 1]
    复制

    该问题是由于构建发布的是子模块,但是部分依赖是在项目的pom文件中,子模块pom文件没有,导致报错

    解决方法: 在启动参数中加上 -f ../pom.xml,读取根目录下的pom文件

    2. 没添加DockerFile文件,导致构建发布失败,添加DockerFile文件

    3. 发布异常,未找到镜像

      Unable to find image '27020aea315c46958e722a9f1052d061
      复制

          原因是启动配置文件中删除环境变量时  -e没有去除,导致报错

      4. 容器27020aea315c46958e722a9f1052d061启动失败

        ps检查信息:0765e1b308b8        repos.taikangcloud.com/tkpension-tkpms-docker/dev/outer-gateway:branch-feature_20230206-gateway-20230213193806                 
           "boots /app/app.jar"     1 second ago       
        Exited (0) Less than a second ago
        复制

        进入容器查看,docker ps 没有该容器

        使用docker ps -a 发现该容器退出

        使用docker run -it 容器名,看日志

        发现错误是Spring Boot:jar中没有主清单属性

        在pom文件中指定程序入口,启动类  ,新增代码

           <build>
          <plugins>
          <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>2.3.1.RELEASE</version>
          <configuration>
          <mainClass>com.gateway.GatewayApplicaion</mainClass>
          </configuration>
          <executions>
          <execution>
          <goals>
          <goal>repackage</goal>
          </goals>
          </execution>
          </executions>
          </plugin>
          </plugins>
          </build>
          复制

          5.  Failed to create parent directories for [/app/./logs/gateway/2023-02-13.log]

          没有权限建立文件夹,需要将日志文件路径放在挂载文件下


          6. 换了文件后,还是报错,查看该文件夹是root用户,root组,无权限在root文件夹中新建,通过Docker用户登录堡垒机手动新建目录,同时chmod 777,赋予权限


          7. 发现构建没问题,但是Eureka没上去,检查日志,发现是

            DiscoveryClient_GATEWAY-SERVER/10.154.8.111:gateway-server:9000 -
            was unable to refresh its cache! status = Cannot execute request on any known server,com.netflix.discovery.shared.transport.TransportException:
            Cannot execute request on any known server
            复制

            8. 检查配置文件,发现是Eureka地址写错了 原本是,http://10.154.8.111:8090/eureka/,

            修改成http://10.154.8.111:8090/auth_eureka/eureka/即可



            文章转载自琢磨先生DataBase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论