AWSを使用してCI/CDパイプラインを構築する
この記事はgithubとaws開発者ツールを使用してパイプラインを構築するプロセスです.
パイプラインの構築
命名後のシンボル接続 バージョンのプロジェクトを作成し、環境イメージ を設定します.配備ステージを追加し、パケット を選択
AWS開発者ツールサービスを使用して配置自動化パイプラインを構築する必要があります.
EC 2インスタンスを作成します. EC 2ランタイム環境構築(nvm、npm、node) 生成されたEC 2にタグを追加 I AMキャラクタ修正(AmazonS 3 FullAccess、AmazonSSMFullAccess、AWSCodeDeployRole) 信頼関係の編集(codedeploy.ap東北-2.amazonaws.comをサービスに追加) 80443ポート設定
CodeDeploy-Agentは、の導入自動化を支援する識別可能なファイルを作成します.
ex)start.sh, initialize.sh, stop.sh
ec 2/onPremiss選択 IAMロール を選択インスタンス、 タグを選択負荷バランシングチェック をキャンセル
羽香草庫選択 バージョンステージ をスキップアプリケーション、配置グループ を選択
リファレンス
RDSを作成する必要があります. EC 2インスタンスにAWS CLIをインストールする必要があります. を選択して環境を設定->その他の構成->環境変数
名、必要な環境変数 を作成する値を設定します.
例)パイプラインを変換する場合は、codedeploy-agentを実行する必要があります.
パイプラインの構築
クライアントパイプライン
S 3でパケットを作成する
重複しない名前のパケットを生成します.
codebuildのために構築されます。ymlファイルの作成
例)version: 0.2
phases:
pre_build:
commands:
- cd client
- npm install
build:
commands:
- npm run build
artifacts:
files:
- '**/*'
base-directory: client/build
パイプラインの設定
version: 0.2
phases:
pre_build:
commands:
- cd client
- npm install
build:
commands:
- npm run build
artifacts:
files:
- '**/*'
base-directory: client/build
サーバーパイプライン
AWS開発者ツールサービスを使用して配置自動化パイプラインを構築する必要があります.
始まる前に、
セキュリティグループ
appspec.ymlの作成
CodeDeploy-Agentは、
各種スクリプトファイルを含むフォルダの作成
ex)start.sh, initialize.sh, stop.sh
CodeDeploy用のアプリケーションの作成
配置グループの作成
パイプラインの作成
codedeploy-agentがいなかったら?
クライアント環境変数の設定
開始前に、
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
プロジェクトの構築
バックエンド環境変数の設定
parameter store
環境変数を適用するためのスクリプトファイルの変更
例)
#!/bin/bash
cd /home/ubuntu/im-sprint-practice-deploy/server
export DATABASE_USER=$(aws ssm get-parameters --region ap-northeast-2 --names DATABASE_USER --query Parameters[0].Value | sed 's/"//g')
export DATABASE_PASSWORD=$(aws ssm get-parameters --region ap-northeast-2 --names DATABASE_PASSWORD --query Parameters[0].Value | sed 's/"//g')
export DATABASE_PORT=$(aws ssm get-parameters --region ap-northeast-2 --names DATABASE_PORT --query Parameters[0].Value | sed 's/"//g')
export DATABASE_HOST=$(aws ssm get-parameters --region ap-northeast-2 --names DATABASE_HOST --query Parameters[0].Value | sed 's/"//g')
authbind --deep pm2 start app.js
注意事項
aws ec 2を使用する場合、nvm、npm、nodeを最新バージョンにダウンロードしても、古いバージョンのエラー解決方法を使用します。
node.js 업데이트 (3개의 명령어를 차례차례 입력하세요.)
sudo npm cache clean --force
sudo npm install -g n
sudo n stable
npm 업데이트
sudo npm install -g npm
Reference
この問題について(AWSを使用してCI/CDパイプラインを構築する), 我々は、より多くの情報をここで見つけました https://velog.io/@dnflekf2748/aws-CICDテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol