AWS Сбой CodeDeploy на экземплярах EC2 каждый раз - PullRequest
2 голосов
/ 11 января 2020

enter image description here

Я настроил конвейер cicd на aws, используя jenkins. Я написал очень маленькое приложение, которое обслуживает только файл stati c index. html file. Он работает полностью, но ломается на самом последнем этапе codedeploy. проблема в том, что когда я запускаю codedeploy из jenkins, используя проект aws codedeploy, это приводит к сбою развертывания на экземплярах ec2. Журнал Jenkins не выдает достаточно информации для его отладки. Некоторые моменты, о которых мне следует знать -

  1. Я использую развертывание конфигурации развертывания по одному за раз
  2. Я не установил aws агент codedeploy на экземплярах ec2
  3. где я могу получить подробный журнал о том, где он не работает? В этом случае cloudwatch не регистрирует журнал codedeploy.

Журналы ошибок -

HttpMethod: GET
URL: https://aws-devops-jenkins-docker.s3.amazonaws.com/aws_docker_codebuild_jenkins
Sending request to url: https://aws-devops-jenkins-docker.s3.amazonaws.com/aws_docker_codebuild_jenkins
Response Code: HTTP/1.1 200 OK
Success code from [100‥399]
Saving response body to /var/lib/jenkins/workspace/aws_docker_demo/aws-codebuild-artifact.zip
Zipping files into /tmp/#61-6687599754523764921.zip
Uploading zip to s3://aws-devops-jenkins-docker/#61-6687599754523764921.zip
Registering revision for application 'aws_docker_codedeploy_jenkins'
Creating deployment with revision at {RevisionType: S3,S3Location: {Bucket: aws-devops-jenkins-docker,Key: #61-6687599754523764921.zip,BundleType: zip,ETag: 86c6ace4adeaa41f5206ca96c6ff6637},}
Monitoring deployment with ID d-V1R54BRY1...
Deployment status: Created; instances: null
Deployment status: Created; instances: null
Deployment status: InProgress; instances: {Pending: 2,InProgress: 0,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 2,InProgress: 0,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 2,InProgress: 0,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 2,InProgress: 0,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: InProgress; instances: {Pending: 1,InProgress: 1,Succeeded: 0,Failed: 0,Skipped: 0,Ready: 0}
Deployment status: Failed; instances: {Pending: 0,InProgress: 0,Succeeded: 0,Failed: 1,Skipped: 1,Ready: 0}
Deployment did not succeed. Final status: Failed
ERROR: Step ‘Deploy an application to AWS CodeDeploy’ failed: null
Finished: FAILURE

Buildspe c .yml

version: 0.2

phases:
  install:
    runtime-versions:
      nodejs: 10
    commands:
      - echo "installing nodejs"
  pre_build:
    commands:
      - printenv
      - echo "we are in the pre build phase"
  build:
    commands:
      - echo "we are in the build block"
      - echo "running test ...."
      - grep -Fq "cloud" index.html
  post_build:
    commands:
      - echo "we are in the post build phase"

artifacts:
  files:
    - '**/*'
  name: aws_devops_poc_mywebb_artifacts

appspe c .yml

version: 0.0
os: linux
files:
  - source: /index.html
    destination: /var/www/html/ 
Hooks:
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root

  AfterInstall:
    - location: scripts/after_install.sh
      timeout: 300
      runas: root

  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - scripts/start_server.sh
      timeout: 300
      runas: root

  ValidateService:
    - location: scripts/validate_service.sh
      timeout: 300

stop_server и start_server Сценарии предназначены только для запуска остановки службы httpd.

validate_service скрипт только проверяет, содержит ли html слово "мир".

install_dependencies скрипт только устанавливает службу httpd

Я очень новичок в aws devops. Любая помощь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...