GItLab并未将laravel应用部署到AWS ec2

时间:2019-02-09 10:08:36

标签: laravel amazon-web-services gitlab cd

我正在尝试将Laravel应用程序部署到AWS ec2实例。我正在使用GitLab进行代码管理和管道处理。

这是我的.gitlab-ci.yml文件。

    # Node docker image on which this would be run
image: node:8.9.0

#This command is run before actual stages start running
before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  - npm install

stages:
  - test
  - deploy
  - production

#Production stage
production:   
   stage: production   
   before_script: 
   #generate ssh key   
     - mkdir -p ~/.ssh     
     - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa     
     - chmod 600 ~/.ssh/id_rsa     
     - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'   
   script:     

      - bash .gitlab-deploy.sh

   environment:     
      name: production     
      url: MY_HOST_IP_ADDRESS   
   when: manual
# lint and test are two different jobs in the same stage.
# This allows us to run these two in parallel and making build faste

这是我的.gitlab-deploy.sh文件

#!/bin/bash
#Get servers list
set -f
string=$DEPLOY_SERVER
array=(${string//,/ })
#Iterate servers for deploy and pull last commit
for i in "${!array[@]}"; do
  echo "Deploying information to EC2 and Gitlab"
  echo "Deploy project on server ${array[i]}"
  ssh ubuntu@${array[i]} "cd /var/www/html && git pull origin"
done

当我推送代码时,它的处理正常。如您所见,下图。 enter image description here

在成功完成过程后,当我列出/ var / www / html的目录时,它仍然是空的。我在Ubuntu上使用Apache2。我想直接将代码部署到AWS EC2实例。

谢谢!

0 个答案:

没有答案