Java 无法使用AWS CodeDeploy部署Springboot应用程序AWS Ubuntu实例

Java 无法使用AWS CodeDeploy部署Springboot应用程序AWS Ubuntu实例,java,amazon-web-services,spring-boot,continuous-integration,aws-code-deploy,Java,Amazon Web Services,Spring Boot,Continuous Integration,Aws Code Deploy,我有一个Spring启动应用程序,我无法使用AWS代码deploy将其部署到AWS Ubuntu实例 这是appspec.yml version: 0.0 os: linux files: - source: / destination: /opt/ubuntu/server permissions: - object: / pattern: "**" owner: ubuntu group: ubuntu hooks: ApplicationSt

我有一个Spring启动应用程序,我无法使用AWS代码deploy将其部署到AWS Ubuntu实例

这是appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /opt/ubuntu/server

permissions:
  - object: /
    pattern: "**"
    owner: ubuntu
    group: ubuntu

hooks:
  ApplicationStop:
    - location: stop_server.sh
      timeout: 20
      runas: root
  ApplicationStart:
    - location: start_server.sh
      timeout: 300
      runas: ubuntu
停止_server.sh文件

#!/usr/bin/env bash

# Kill Java process

# Determine the pid
PID=`ps -C java -o pid=`

kill -9 $PID
#!/usr/bin/env bash
cd /opt/ubuntu/server
rm -rf target/*
sudo mvn clean package
sudo mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &
start\u srver.sh文件

#!/usr/bin/env bash

# Kill Java process

# Determine the pid
PID=`ps -C java -o pid=`

kill -9 $PID
#!/usr/bin/env bash
cd /opt/ubuntu/server
rm -rf target/*
sudo mvn clean package
sudo mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &
#/usr/bin/env bash
cd/opt/ubuntu/server
射频靶/*
sudo mvn清洁包
sudo mvn spring引导:run-Drun.jvmArguments='-Dserver.port=8080'>/dev/null 2>/dev/null
CodeDeploy在安装阶段受阻,我得到的错误是未找到mvn命令

我登录到实例并检查了mvn命令是否正常工作,但对于codedeploy代理,它不工作

我已经设置了路径~/.profile和~/.bashrc文件,但仍然不起作用


存储库的GitHub位置为

codeDeploy作为根用户执行,因此请尝试检查根用户是否安装了mvn。 及 应用程序启动: -位置:start_server.sh 超时:300 符文:根
而不是以root用户身份运行ubuntu。

codeDeploy以root用户身份执行,因此请尝试检查root用户是否安装了mvn。 及 应用程序启动: -位置:start_server.sh 超时:300 符文:根
Maven不是ubuntu,而是以root用户身份运行。

Maven是一个构建系统。我不建议将其用作部署的一部分。单独构建应用程序(可能在您的笔记本电脑上),并使用CodeDeploy复制代码(jar文件等),以及运行一些内部管理过程(例如启动apache服务)。不要在每个部署上构建应用程序,因为您可以看到构建失败将导致部署失败

查看错误:未找到mvn命令

最好在脚本中指定mvn命令的完整路径,例如:

sudo/bin/mvn清洁套装

#!/usr/bin/env bash

# Kill Java process

# Determine the pid
PID=`ps -C java -o pid=`

kill -9 $PID
#!/usr/bin/env bash
cd /opt/ubuntu/server
rm -rf target/*
sudo mvn clean package
sudo mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &

注意:请确认路径。

Maven是一个生成系统。我不建议将其用作部署的一部分。单独构建应用程序(可能在您的笔记本电脑上),并使用CodeDeploy复制代码(jar文件等),以及运行一些内部管理过程(例如启动apache服务)。不要在每个部署上构建应用程序,因为您可以看到构建失败将导致部署失败

查看错误:未找到mvn命令

最好在脚本中指定mvn命令的完整路径,例如:

sudo/bin/mvn清洁套装

#!/usr/bin/env bash

# Kill Java process

# Determine the pid
PID=`ps -C java -o pid=`

kill -9 $PID
#!/usr/bin/env bash
cd /opt/ubuntu/server
rm -rf target/*
sudo mvn clean package
sudo mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &

注意:请确认路径。

使用代码管道创建流,与代码提交或Github repo集成以获取代码。使用代码构建来创建必要的工件,并在代码部署中使用工件。代码构建具有使用Java Maven Docker等必要工具创建构建环境的选项。

使用代码管道创建流,与代码提交或Github repo集成以获取代码。使用代码构建来创建必要的工件,并在代码部署中使用工件。Code Build可以选择使用必要的工具创建构建环境,例如Java Maven Docker。

我在EC2 Ubuntu实例中以root用户身份安装了Maven和Code deploy agent,但仍然没有找到mvn命令

我登录到实例并尝试检查mvn命令是否正常工作,但我无法理解为什么mvn命令不能与代码部署过程一起工作

需要帮忙吗

这是appspec.yml文件

version: 0.0
os: linux
files:
  - source: /
    destination: /opt/root/server

permissions:
  - object: /
    pattern: "**"
    owner: root
    group: root

hooks:
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 60
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
      timeout: 60
      runas: root
启动_server.sh文件

mvn clean package
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &

我在EC2 Ubuntu实例中以root用户身份安装了maven和code deploy agent,但仍然没有找到mvn命令

我登录到实例并尝试检查mvn命令是否正常工作,但我无法理解为什么mvn命令不能与代码部署过程一起工作

需要帮忙吗

这是appspec.yml文件

version: 0.0
os: linux
files:
  - source: /
    destination: /opt/root/server

permissions:
  - object: /
    pattern: "**"
    owner: root
    group: root

hooks:
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 60
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
      timeout: 60
      runas: root
启动_server.sh文件

mvn clean package
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8080' > /dev/null 2> /dev/null < /dev/null &