首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fabric8 maven插件抱怨部署配置问题

Fabric8 maven插件抱怨部署配置问题
EN

Stack Overflow用户
提问于 2018-06-21 08:27:54
回答 1查看 1K关注 0票数 0

当我执行mvn fabric8:resource-apply时,我会收到这个错误消息

错误未能在项目tdev-wsec-service上执行目标io.fabric8:fabric8-maven-plugin:3.5.38:resource-apply (默认-cli):未能从openshift.yml创建DeploymentConfig。io.fabric8.kubernetes.client.KubernetesClientException:失败执行: POST at:https://minishift.t-systems.net:8443/apis/apps.openshift.io/v1/namespaces/myproject/deploymentconfigs。消息: DeploymentConfig "tdev-wsec-service“无效: spec.template.spec.containers.name:无效值:"com.tsystems.iberia-tdev-wsec-service":DNS-1123标签必须由小写字母数字字符或'-‘组成,并且必须以字母数字字符开头和结尾(例如'my-name’或'123-abc',用于验证的regex必须是'a-z0-9?')。接收状态:apiVersion=v1,code=422,code=422 message=Invalid值:"com.tsystems.iberia-tdev-wsec-service":DNS-1123标签必须由小写字母数字字符或'-‘组成,并且必须以字母数字字符开头和结尾(例如'my-name’或'123-abc',用于验证的正则表达式是‘a-Z0-9?’,reason=FieldValueInvalid,additionalProperties={}],group=null,kind=DeploymentConfig,name=tdev-ws.

简言之:

DeploymentConfig "tdev-wsec-service“无效: spec.template.spec.containers.name:无效值:"com.tsystems.iberia-tdev-wsec-service":DNS-1123标签必须由小写字母数字字符或'-‘组成,并且必须以字母数字字符开头和结尾(例如'my-name’或'123-abc',用于验证的regex必须是'a-z0-9?')

我试图将这些资源推入openshift中:

fabric8插件在抱怨一些我不太清楚是什么问题的东西。例如,fabric8插件告诉我在部署配置中有问题,但是wsec-deployment.yaml内容实际上是正确的:

代码语言:javascript
复制
metadata:
  annotations:
    configmap.fabric8.io/update-on-change: ${project.artifactId}
  labels:
    name: wsec
  name: wsec
spec:
  replicas: 1
  selector:
    name: wsec
    version: ${project.version}
    provider: fabric8
  template:
    metadata:
      labels:
        name: wsec
        version: ${project.version}
        provider: fabric8
    spec:
      containers:
      - env:
        - name: SPRING_APPLICATION_JSON
          valueFrom:
           configMapKeyRef:
             name: wsec-configmap
             key: SPRING_APPLICATION_JSON
        name: wsec
        image: ${docker.image}

有什么想法吗?

编辑

pom.xml最fabric8相关部分:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tsystems.iberia</groupId>
    <artifactId>t-devhub</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RC1</spring-cloud.version>

        <fabric8-maven-plugin.version>3.5.38</fabric8-maven-plugin.version>
        <fabric8.build.strategy>docker</fabric8.build.strategy>
        <fabric8.build.mode>openshift</fabric8.build.mode>

        <docker.from>docker.io/fabric8/java-jboss-openjdk8-jdk:1.2</docker.from>
        <docker.assemblyDescriptorRef>artifact</docker.assemblyDescriptorRef>
        <docker.image>${project.artifactId}:${project.version}</docker.image>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>fabric8-maven-plugin</artifactId>
                <version>${fabric8-maven-plugin.version}</version>
                <configuration>
                    <mode>${fabric8.build.mode}</mode>
                    <enricher>
                        <excludes>
                            <exclude>spring-boot-health-check</exclude>
                        </excludes>
                    </enricher>
                    <images>
                        <image>
                            <name>${docker.image}</name>
                            <build>
                                <from>${docker.from}</from>
                                <assembly>
                                    <targetDir>/deployments</targetDir>
                                    <descriptorRef>${docker.assemblyDescriptorRef}</descriptorRef>
                                </assembly>
                                <env>
                                    <JAVA_APP_JAR>${project.artifactId}-${project.version}.jar</JAVA_APP_JAR>
                                </env>
                            </build>
                            <run>
                                <ports>
                                    <port>8080:8080</port>
                                </ports>
                            </run>
                        </image>
                    </images>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
EN

回答 1

Stack Overflow用户

发布于 2019-06-21 20:45:30

我发现在he arttifactId中有一个以上的破折号(-)引起了这个问题。

代码语言:javascript
复制
    <groupId>com.something</groupId>
      <artifactId>servicename-microservice-something</artifactId>
       <version>1.0</version>
    <name>servicename</name>

将artifactId更改为

代码语言:javascript
复制
    <artifactId>servicename</artifactId>

而且起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50963851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档