[Deployment] Automated Deployment
7162 ワード
導入の自動化
AWSでgithubに修正を提出すると、自動的に修正が反映されます.
自動配置パイプ
Source stage -> Build stage -> Deploy stageソースステージ-Githubなどのリポジトリでコード変更が発生した場合、 が検出されます.構築フェーズ-ソース・フェーズから渡されたコード をコンパイル、構築、およびテストします.導入フェーズ-構築フェーズで受信した結果を反映する Pipelineフェーズは、状況および必要に応じて細分化または簡略化することができる.
AWS開発者ツール
CodeCommit
Githubのようなバージョン管理ツール
githubとの違いは、より安全で費用の支払いが容易であることです.
CodeBuild
Compile、Build、およびテストが可能
参考資料:https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/build-spec-ref.html
CodeDeploy
実行中のサーバ・アプリケーションにリアルタイムで変更を反映
参考資料:https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/reference-appspec-file.html
CodePipeline
パイプラインの構築
free tierアカウントは2つから課金されます
AWS IAM
Identity and Access Management
権限管理サービス(adminアカウントや一般アカウントなど)
サンプルファイル
buildspec.ymlサンプルファイル gibubにも関連機能があります.github action, github pages vrecelはクララしか配布できません.サーバは使用できません. devopsの位置は、配置、運営、環境配置の専門家直軍です. Linuxの理解がますます必要になっています. 12factors.net
AWSでgithubに修正を提出すると、自動的に修正が反映されます.
自動配置パイプ
Source stage -> Build stage -> Deploy stage
AWS開発者ツール
CodeCommit
Githubのようなバージョン管理ツール
githubとの違いは、より安全で費用の支払いが容易であることです.
CodeBuild
Compile、Build、およびテストが可能
buildspec.yml
ファイルを使用した操作参考資料:https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/build-spec-ref.html
CodeDeploy
実行中のサーバ・アプリケーションにリアルタイムで変更を反映
appspec.yml
ファイルを使用した操作参考資料:https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/reference-appspec-file.html
CodePipeline
パイプラインの構築
free tierアカウントは2つから課金されます
AWS IAM
Identity and Access Management
権限管理サービス(adminアカウントや一般アカウントなど)
サンプルファイル
buildspec.ymlサンプルファイル
version: 0.2
phases:
pre_build:
commands:
- cd client
- npm install
build:
commands:
- npm run build
artifacts:
files:
- '**/*'
base-directory: client/build
例appspec.ymlファイルversion: 0.0
os: linux
files:
- source: /
destination: /home/ubuntu/im-sprint-practice-deploy
hooks:
ApplicationStop:
- location: scripts/stop.sh
runas: root
AfterInstall:
- location: scripts/initialize.sh
runas: root
ApplicationStart:
- location: scripts/start.sh
runas: root
scripts/initialize.sh#!/bin/bash
cd /home/ubuntu/im-sprint-practice-deploy/server
npm install
npm install pm2@latest -g
sudo apt-get update
sudo apt-get install authbind
sudo touch /etc/authbind/byport/80
sudo chown ubuntu /etc/authbind/byport/80
sudo chmod 755 /etc/authbind/byport/80
scripts/start.sh#!/bin/bash
cd /home/ubuntu/im-sprint-practice-deploy/server
authbind --deep pm2 start app.js
scripts/stop.sh
scripts.stop.sh#!/bin/bash
cd /home/ubuntu/im-sprint-practice-deploy/server
pm2 stop app.js 2> /dev/null || true
pm2 delete app.js 2> /dev/null || true
Reference
この問題について([Deployment] Automated Deployment), 我々は、より多くの情報をここで見つけました https://velog.io/@jhoryong/Deployment-Automated-Deploymentテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol