LoginSignup
0
0

More than 1 year has passed since last update.

CodeDeployを使ってLaravelをEC2にデプロイした時のメモ

Posted at

リポジトリを作成する

CodeCommitにリポジトリを作成する
sshかhttpで接続出来るようにしてプッシュ

EC2を作成する

コンソールからEC2を作成する
CodeDeploy Agentをインストールする

sudo yum update
sudo yum -y install ruby wget
cd /home/ec2-user
wget https://aws-codedeploy-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
sudo service codedeploy-agent status
# sudo service codedeploy-agent start

IAMロールを作成する

EC2用のIAMロール
- AmazonEC2RoleforAWSCodeDeploy
CodeBuild用のIAMロール
- AmazonSSMReadOnlyAccess
- (kms:Decryptを許可するポリシー)
CodeDeploy用のIAMロール
- AWSCodeDeployRole

CodeDeployの設定

CodeDeployのアプリケーションを作成する
CodeDeployのデプロイグループを作成する
Codepipelineを作成する
appspec.ymlを作成する
appspec.ymlは必ずしもルートディレクトリに置く必要はなく、ビルドプロジェクト毎に別のファイルを使用することも可能

appspec.yml
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/app

hooks:
  BeforeInstall:
    - location: scripts/beforeinstall.sh
      runas: root
  AfterInstall:
    - location: scripts/afterinstall.sh
      runas: root
  ApplicationStart:
    - location: scripts/applicationstart.sh
      runas: root

permissions:
  - object: /var/www/app/scripts
    pattern: "**"
    owner: ec2-user
    group: nginx
    mode: 774
    type:
      - file

buildspec.ymlを作成する
buildspecはルートディレクトリに置く必要がある

buildspec.yml
version: 0.2

phases:
  install:
    runtime-versions:
      php: 7.4
      nodejs: 12
  pre_build:
    commands:
      - echo "pre-build"
      - aws ssm get-parameter --with-decryption --name .env.production --query Parameter.Value | sed -e 's/^"//' -e 's/"$//' -e 's/\\\"/\"/g' | awk '{gsub(/\\n/,"\n")}1' > .env
  build:
    commands:
      - echo "build"
      # Composerインストール
      - composer install
      - npm install
      - npm run prod

artifacts:
  files:
    - '**/*'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0