由于 ScriptTimedOut,AWS CodeDeploy 在 AfterInstall 中失败

AWS CodeDeploy failing in AfterInstall due to ScriptTimedOut

我已将 AWS 连接到 github

appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /home/mybot
hooks:
  AfterInstall:
    - location: RunMyBot.sh
      timeout: 300
      runas: root

RunMyBot.sh

#!bin/bash

cd /home/mybot/
yum install -y python3-pip python3 python3-setuptools
sudo python3 -m pip install --user --upgrade pip
pip3 install -r requirements.txt
python botMain.py

错误:

我想 运行 我的主文件 - botMain.py,但它没有 运行。

我尝试从脚本中删除安装行,因为它说它们已经安装,但我仍然遇到超时,我的 botMain.py 不是 运行ning。

应该是python3,而不是python。但是无论如何,您的部署会挂起,因为如果 botMain.py 是服务器,它只会启动而不会完成。因此,等待 botMain.py 完成其执行的 CD 超时从未发生过。

要正确地 运行 你的 botMain.py 你应该 运行 它是一个 daemon 服务。为此,您可以在 linux 上为 systemd 创建自定义单位文件。其中一个例子是 .