当我执行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内容实际上是正确的:
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相关部分:
<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>发布于 2019-06-21 20:45:30
我发现在he arttifactId中有一个以上的破折号(-)引起了这个问题。
<groupId>com.something</groupId>
<artifactId>servicename-microservice-something</artifactId>
<version>1.0</version>
<name>servicename</name>将artifactId更改为
<artifactId>servicename</artifactId>而且起作用了。
https://stackoverflow.com/questions/50963851
复制相似问题