我正在使用AWS Code Deployment进行我的应用程序部署。在此过程中,我在appspec.yml文件中使用了虚拟主机创建代码。它工作正常。但是它也在执行第二次部署。我如何防止这种情况。是我的应用规格代码
BeforeInstall:
- location: scripts/create_virtualhost
timeout: 300
runas: root
- location: scripts/start_server
timeout: 300
runas: root
ApplicationStop:
- location: scripts/stop_server
timeout: 300
runas: root
create_virtualhost.sh文件
echo '<VirtualHost *:80>
ServerAdmin test@demo.com
DocumentRoot "/var/www/html/demo.com"
ServerName demo.com
ServerAlias www.demo.com
</VirtualHost>' >> /etc/httpd/conf/httpdnew.conf
答案 0 :(得分:1)
据我所知,您不能限制只执行一次的钩子。仅应用程序停止挂钩将不会在首次部署时运行。因此您必须在脚本中处理这些问题。也许你可以做这样的事情
create_virtualhost.sh
#!/bin/bash
if [ -e /etc/httpd/conf/httpdnew.conf ]
then
echo "vhost exists..skipping.."
else
echo '<VirtualHost *:80>
ServerAdmin test@demo.com
DocumentRoot "/var/www/html/demo.com"
ServerName demo.com
ServerAlias www.demo.com
</VirtualHost>' >> /etc/httpd/conf/httpdnew.conf
fi