AWS | Laravel | ECS(G/B) | CodeDeploy unfinish



我正在使用Laravel。我想把它部署到ECS(B/G(上,看看它是如何工作的。在开发环境中,Laravel正在运行。我能够使用docker在EC2上启动我的Laravel项目。我想第一次使用法盖特并部署到云服务器上!

此外,CodeBuild已成功完成。

appspec.yml

version: 0.0 Resources:
- TargetService:
Type: AWS::ECS::Service
Properties:
TaskDefinition: "<TASK_DEFINITION>"
LoadBalancerInfo:
ContainerName: "nginx"
ContainerPort: "80"

taskdef.json

{
"taskRoleArn": "arn:aws:iam::**********:role/ecsTaskExecutionRole",
"executionRoleArn": "arn:aws:iam::**********:role/ecsTaskExecutionRole",
"containerDefinitions": [
{
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/****-system",
"awslogs-region": "******",
"awslogs-stream-prefix": "ecs"
}
},
"entryPoint": [
"sh",
"-c"
],
"command": [
"php artisan config:cache && php artisan migrate && chmod -R 777 storage/ &&  chmod -R 777 bootstrap/cache/"
],
"cpu": 0,
"environment": [
{
"name": "APP_ENV",
"value": "staging"
}
],
"workingDirectory": "/var/www/html",
"image": "<IMAGE1_NAME>",
"name": "php"
},
{
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/****-system",
"awslogs-region": "****",
"awslogs-stream-prefix": "ecs"
}
},
"portMappings": [
{
"hostPort": 80,
"protocol": "tcp",
"containerPort": 80
}
],
"environment": [
{
"name": "APP_ENV",
"value": "staging"
}
],
"workingDirectory": "/var/www/html",
"image": "**********.dkr.ecr.**********.amazonaws.com/**********-nginx:latest",
"name": "nginx"
}
],
"placementConstraints": [],
"memory": "2048",
"family": "*****-system",
"requiresCompatibilities": [
"FARGATE"
],
"networkMode": "awsvpc",
"cpu": "1024",
"volumes": []
}

CodeDeploy在INSTALL处停止,并且没有错误。正如您在捕获中看到的,我们可以确认"<TASK_DEFINITION>quot;已被替换。我想知道是否有我遗漏的信息。

我不知道如何设置诸如"之类的环境变量;。env";,所以我认为这可能是原因。

CodeDeploy失败的

修订版

任务定义

ECR

ECR nginx

ECR src(laravel(

如果您想更改.env文件以设置env变量,可以使用ssh连接到Web服务器,并在根文件夹中运行nano .env命令来编写文件。

您也可以使用ftp连接修改文件。

最新更新