Not able to deploy a helloworld spring-boot app on Cloud Foundry

你离开我真会死。 提交于 2019-12-11 13:44:44

问题


Getting following error while deploy a simple helloworld SpringBoot app on Cloud Foundry using cf push helloworld-api command.

Note: I am not having a manifest.yml file

Error Log:

Staging app and tracing logs...
   Downloading binary_buildpack...
   Downloading python_buildpack...
   Downloading go_buildpack...
   Downloading dotnet_core_buildpack...
   Downloading php_buildpack...
   Downloaded binary_buildpack
   Downloading hwc_buildpack...
   Downloaded go_buildpack
   Downloading staticfile_buildpack...
   Downloaded dotnet_core_buildpack
   Downloading dotnet_core_buildpack_beta...
   Downloaded dotnet_core_buildpack_beta
   Downloading java_buildpack...
   Downloaded hwc_buildpack
   Downloading ruby_buildpack...
   Downloaded staticfile_buildpack
   Downloading nodejs_buildpack...
   Downloaded java_buildpack
   Downloaded python_buildpack
   Downloaded ruby_buildpack
   Downloaded nodejs_buildpack
   Downloaded php_buildpack
   Cell 501d8bad-6db9-4f37-bcbb-bf678aeaa558 creating container for instance ef6baefc-b5e2-4bb4-9c5e-1711b4b8eb5c
   Cell 501d8bad-6db9-4f37-bcbb-bf678aeaa558 successfully created container for instance ef6baefc-b5e2-4bb4-9c5e-1711b4b8eb5c
   Downloading app package...
   Downloaded app package (85.1K)
   None of the buildpacks detected a compatible application
   Exit status 222
   Cell 501d8bad-6db9-4f37-bcbb-bf678aeaa558 stopping instance ef6baefc-b5e2-4bb4-9c5e-1711b4b8eb5c
   Cell 501d8bad-6db9-4f37-bcbb-bf678aeaa558 destroying container for instance ef6baefc-b5e2-4bb4-9c5e-1711b4b8eb5c
   Cell 501d8bad-6db9-4f37-bcbb-bf678aeaa558 successfully destroyed container for instance ef6baefc-b5e2-4bb4-9c5e-1711b4b8eb5c
Error staging application: An app was not successfully detected by any available buildpack

TIP: Use 'cf buildpacks' to see a list of supported buildpacks.
FAILED

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>helloworld</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

HelloWorldApplication.java

@SpringBootApplication
@RestController
public class HelloworldApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloworldApplication.class, args);
    }

    @RequestMapping(path = "/", method = RequestMethod.GET)
    public String greet() {
        return "Hello World !";
    }

}

回答1:


The output from staging is indicating that all of the detect scripts ran for all of the installed buildpack, including the Java buildpack, but did not detect that any were able to run your app.

The problem is with your push command, cf push helloworld-api. Since you're deploying a Java app, you need to specify -p path/to/my.jar. You need this so that your compiled application is deployed, not the source code. Without a path, cf push defaults to pushing the current directory which is probably our source code. The Java buildpack only knows how to deploy compiled apps, it cannot build and deploy your source code.




回答2:


I had same issue, you need to give the path for jar correctly. My jar was getting created under target folder, so I had to change the command to

cf push springpcf -p target **target**\springpcf-0.0.1-SNAPSHOT.jar


来源:https://stackoverflow.com/questions/49522561/not-able-to-deploy-a-helloworld-spring-boot-app-on-cloud-foundry

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!