【AWS入门】AWS CICD

news/2025/1/14 21:11:00/

目录

  • 一 .TASK
  • 二. 环境准备
    • IAM
    • 创建存储库
    • ec2-repo
    • ec2-wp
  • 三. Code Deploy
    • 创建应用程序
    • 创建部署组
    • 创建管道
    • 部署后的ec2-wp

一 .TASK

创建2台EC2实例,一台名为「ec2-repo」,用作开发环境,将编写好的代码提交至repository(需安装git),一台名为「ec2-wp」,需要通过user data预安装code deploy agent,通过Code Deploy将应用程序部署至「ec2-wp」

二. 环境准备

IAM

创建用户组,将IAM权限赋予给该组
用户组下创建一名用户,生成credential,用于后续代码提交凭证
在这里插入图片描述
创建角色,用于后期的CodeDploy
在这里插入图片描述

创建存储库

在这里插入图片描述

ec2-repo

  1. 创建ec2实例(全流量安全组)
  2. 链接到此实例下载 wordpress 包
# wget https://s3-us-west-2.amazonaws.com/us-west-2-awstraining/courses/spl-82/v1.4.5.prod-2bbeba30/scripts/WordPressmaster.zip
# unzip WordPress-master.zip -d /tmp/WordPress_Temp
# mkdir -p /tmp/WordPress
# cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
# rm -rf /tmp/WordPress_Temp
# rm -f WordPress-master.zip
# mkdir -p /tmp/WordPress/scripts
  1. 创建 install_dependencies.sh
vi /tmp/WordPress/scripts/install_dependencies.sh
#!/bin/bash
yum install -y httpd wget php-fpm php-mysqli php-json php php-devel mariadb105-
server
  1. 创建 start_server.sh
vi /tmp/WordPress/scripts/start_server.sh
#!/bin/bash
systemctl start httpd
systemctl enable httpd
systemctl start mariadb
systemctl enable mariadb
  1. 创建 stop_server.sh
vi /tmp/WordPress/scripts/stop_server.sh
#!/bin/bash
isExistApp=`pgrep httpd`
if [[ -n $isExistApp ]]; thensystemctl stop httpd
fi
isExistApp=`pgrep sql`
if [[ -n $isExistApp ]]; thensystemctl stop mariadb
fi
  1. 创建数据库脚本
vi /tmp/WordPress/scripts/create_test_db.sh
#!/bin/bash
mysql -uroot <<CREATE_TEST_DB
CREATE DATABASE IF NOT EXISTS test;
CREATE_TEST_DB
  1. 创建 change_permissions.sh 脚本
vi /tmp/WordPress/scripts/change_permissions.sh
#!/bin/bash
chmod -R 777 /var/www/html/WordPress
  1. 修改文件属性
chmod +x /tmp/WordPress/scripts/*
ls -la /tmp/WordPress/scripts
  1. 创建 vi /tmp/WordPress/appspec.yml 文件
version: 0.0
os: linux
files:- source: /destination: /var/www/html/WordPress
hooks:BeforeInstall:- location: scripts/install_dependencies.shtimeout: 300runas: rootAfterInstall:- location: scripts/change_permissions.shtimeout: 300runas: rootApplicationStart:- location: scripts/start_server.sh- location: scripts/create_test_db.shtimeout: 300runas: rootApplicationStop:- location: scripts/stop_server.shtimeout: 300runas: root
  1. 将 wordpress 代码,appspec.yml 和 script 文件夹都 git push 到仓库中
    在这里插入图片描述
    在这里插入图片描述

ec2-wp

  1. 创建ec2实例,预设置如下userdata,安装code deploy agent
#!/bin/bash
yum install ruby -y 
aws s3 cp s3://aws-codedeploy-ap-northeast-2/latest/install . --region ap-northeast-2 
chmod +x install
./install auto

三. Code Deploy

创建应用程序

点击「创建存储库」,进入到创建应用程序页面
自定义应用程序名称
计算平台选择「EC2/本地」

创建部署组

在这里插入图片描述

创建管道

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部署后的ec2-wp

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/61096.html

相关文章

最优化方法Python计算:一元函数搜索算法——二分法

设一元目标函数 f ( x ) f(x) f(x)在区间 [ a 0 , b 0 ] ⊆ R [a_0,b_0]\subseteq\text{R} [a0​,b0​]⊆R&#xff08;其长度记为 λ \lambda λ&#xff09;上为单峰函数&#xff0c;且在 ( a 0 , b 0 ) (a_0,b_0) (a0​,b0​)内连续可导&#xff0c;即其导函数 f ′ ( x ) f…

凌恩生物美文分享|HGTree v2.0:水平基因转移数据库

水平基因转移(HGT)是指遗传物在物种间从一个相邻生物体到另一个生物体横向传递&#xff0c;是原核生物遗传变异的重要过程。HGT是负责塑造原核生物基因组和在自然选择中生存的驱动力之一&#xff0c;对原核生物的进化有很大贡献&#xff0c;但它会使物种进化史复杂化&#xff0…

大厂都用DevOps!十分钟带你了解自动化在DevOps中的运用

Hi&#xff0c;大家好。DevOps、CI/CD、Docker、Kubernetes……好像全世界都在谈论这些技术&#xff0c;以至于你觉得即将到达NoOps阶段。别担心&#xff0c;在工具和各种最佳实践的浩瀚海洋中感到迷失是正常的&#xff0c;是时候让我们来分析一下DevOps到底是什么了。 一、De…

安装ms sql server2000提示安装失败详见sqlstp.log日志

安装ms sql server2000提示安装失败详见sqlstp.log日志 目录 安装ms sql server2000提示安装失败详见sqlstp.log日志 一、可能的情况-其它位置不能有对它的引用 1.1、先安装了Delphi其options-环境变量-其中path中有sql&#xff0c;注册表将其清除 1. 2、注册表搜索-Micro…

Kali 安装中文输入法(超详细)

1.进入管理员下的控制台。 2. 输入密码后点击“授权”。 3.在控制台内输入下面的命令。 apt install fcitx 4.敲击回车后会开始安装&#xff0c;这里输入“y”。 5.回车后会继续进行安装&#xff0c;安装完成后会自动停止。 6.输入下面的命令来安装google输入法。 apt-get in…

【C语言】leetcode每日一题

目录 前言题目描述题目分析代码描述 前言 时间过得真快&#xff0c;马上又要回家了&#xff0c;马上又要开始卷了。不是每朵鲜花都能代表爱情&#xff0c;但是玫瑰做到了&#xff1b;不是每棵树都能耐得住干渴&#xff0c;但是白杨做到了&#xff1b;不是每个人都在追求上进&a…

VS2015+DLL封装实例

需要把几个复杂函数封装起来&#xff0c;包括A.h, B.h以及相应的A.cpp&#xff0c;B.cpp,下面给出具体操作实例。 1、创建DLL工程 文件→新建→项目→win32控制台程序 填写项目名称gfdll→确定→下一步→DLL&#xff08;附加选项→对空项目打√&#xff09;→完成。 2、在工…

7.3 有源滤波电路(1)

对信号的频率具有选择性的电路称为滤波电路&#xff0c;它的功能是使特定频率范围内的信号通过&#xff0c;而阻止其它频率信号通过。有源滤波电路是应用广泛的信号处理电路。 一、滤波电路的基础知识 1、滤波电路的种类 通常&#xff0c;按照滤波电路的工作频带为其命名&am…