【AWS入门】AWS CICD

news2024/11/18 11:37:37

目录

  • 一 .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 ]]; then
 systemctl stop httpd
fi
isExistApp=`pgrep sql`
if [[ -n $isExistApp ]]; then
 systemctl 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.sh
 timeout: 300
 runas: root
 AfterInstall:
 - location: scripts/change_permissions.sh
 timeout: 300
 runas: root
 ApplicationStart:
 - location: scripts/start_server.sh
 - location: scripts/create_test_db.sh
 timeout: 300
 runas: root
 ApplicationStop:
 - location: scripts/stop_server.sh
 timeout: 300
 runas: 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.coloradmin.cn/o/485516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二十六、ISIS技术总结

文章目录 ISIS 概述一、路由协议总结1、路由优先级2、分类 二、ISIS 协议特点1、特点2、ISIS 路由器的种类 三、ISIS 配置1、基础配置2、network-entity含义3、router id 和系统id转换规则 四、ISIS 开销计算1、Narrow 模式2、Wide 模式 五、 ISIS 和 OSPF 的区别 ISIS 概述 I…

TortoiseGit提示No supported authentication methods available异常

TortoiseGit他属于git的客户端&#xff0c;可有可无&#xff0c;说白了就是将git命令给我们整理成了可直接操作的按钮。 本地代码是使用了SSH的方式去拉取的代码&#xff0c;但是通过TortoiseGit pull代码的时候发生了如下异常&#xff0c;而GitBash却可以正常使用。 TortoiseG…

机器学习技术-激活函数

激活函数 作用 f(*)称为激活函数或激励函数&#xff08;Activation Function&#xff09;&#xff0c;激活函数的主要作用是完成数据的非线性变换&#xff0c;解决线性模型的表达、分类能力不足的问题;如果网络中都是线性变换&#xff0c;则多层网络可以通过矩阵变换&#xf…

C6678学习-EDMA

文章目录 1、简介1. EDMA3概述2、EDMA3的组成3、EDMA3的工作流程4、EDMA3通道控制器&#xff08;EDMA3CC&#xff09;5、触发方式 2、EDMA3的传输1、传输数据块的定义2、传输类型3、参数PaRAM4、通道5、OPT参数 3、补充1、EDMA3通道控制器区域 1、简介 1. EDMA3概述 基于C66x…

车载滤波器组件焊锡开裂失效分析

案例背景 车载滤波器组件在可靠性试验后&#xff0c;主板上的插件引脚焊点发生开裂异常。 分析过程 焊点外观 说明&#xff1a;插件器件引脚呈现出明显的焊点开裂状态。 X-RAY检测 针对异常焊点的X-RAY检测&#xff1a; 说明&#xff1a;通孔&#xff08;支撑孔&#xff09;的透…

如何用ChatGPT做项目管理?

ChatGPT可以通过创建和维护跨团队项目协作计划&#xff0c;让员工更容易理解他们的角色和职责。这个协作计划里面会包括每个团队或个人要执行的具体任务&#xff0c;每个任务最后期限和任何事情之间的依赖关系。 该场景对应的关键词库&#xff1a;&#xff08;24个&#xff09…

springboot框架开发医院云HIS 住院医生站、住院护士站功能实现

住院医生站主模块&#xff1a;包括医嘱管理、病案首页、分配入科、住院清单、我的质控等子模块 &#xff08;1&#xff09;医嘱管理功能简介 ①住院患者开立医嘱、支持医嘱复制、停止、作废等操作&#xff1b; ②医嘱类型含药品、项目、材料、嘱托&#xff1b; ③支持住院各…

(2022 IV) RCBEV

这篇是清华大学发表在IV&#xff08;IEEE Transactions on Intelligent Vehicles&#xff09;上的文章: Bridging the view disparity between radar and camera features for multi-modal fusion 3d object detection 文章信息讲得比较细致&#xff0c;非常值得一看&#xff…

【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯 、最大似然估计

【人工智能】— 不确定性 不确定性不确定性与理性决策基本概率符号先验概率(无条件概率)/后验概率(条件概率)随机变量概率密度联合概率分布公理完全联合分布概率演算独立性 贝叶斯法则例1例2 使用贝叶斯规则&#xff1a;合并证据朴素贝叶斯最大似然估计小结 不确定性 不确定性与…

osg::Drawable类通过setDrawCallback函数设置回调函数的说明

osg::Drawable类可以通过该类的setDrawCallback函数设置回调函数类对象。被设置的回调类对象必须从osg::Drawable::DrawCallback类派生&#xff0c;并重写drawImplementation函数&#xff0c;以实现自己特定的需求。这个回调函数每次在帧事件中都会被调用(如&#xff1a;在帧的…

SpringBoot定义优雅全局统一Restful API 响应框架二

这里解决之前留下来的问题&#xff0c;当程序没有正常返回时候 就是程序由于运行时异常导致的结果&#xff0c;有些异常我们可&#xff0c;能无法提前预知&#xff0c;不能正常走到我们return的R对象返回。这个时候该如何处理 在SpringBoot中&#xff0c;可以使用ControllerA…

AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

作者&#xff1a;寒斜 立即体验基于函数计算部署 Stable Diffusion&#xff1a; https://developer.aliyun.com/topic/aigc AIGC 领域目前大火&#xff0c; 除了 Chatgpt&#xff0c;在文生图领域 Stable Diffusion 大放异彩&#xff0c;深刻的地影响着绘画、视频制作等相关…

古剑飞仙手游Linux系统服务器架设教程

安装宝塔直接运行命令即可。 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 搭建环境&#xff1a; centos 7以上系统服务器 宝塔面板安装应用如下&#xff1a; Nginx1.14 mysql5.7 php5.6 1…

HNU-操作系统OS-实验Lab1

OS_Lab1_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf &#xff08;学号 202108010XXX&#xff09; 为了实现 lab1 的目标&#xff0c;lab1 提供了 6 个基本练习和 1 个扩展练习&#xff0c;要求完成实验报告。 对实验报告的要求&#xff1a; 基于 mark…

【CSS笔记】CSS动画效果(2d、3d)之渐变色、过渡、变换、平移、缩放、旋转、倾斜、关键帧动画

这篇文章&#xff0c;主要介绍CSS动画效果&#xff08;2d、3d&#xff09;之渐变色、过渡、变换、平移、缩放、旋转、倾斜、关键帧动画。 目录 一、2d动画 1.1、渐变色 &#xff08;1&#xff09;线性渐变色 &#xff08;2&#xff09;径向渐变色 &#xff08;3&#xff0…

SpringBoot 基础

一、简介 SpringBoot用来简化Spring应用的初始搭建和开发过程&#xff0c; SpringBoot四大核心&#xff1a; 自动配置 起步依赖 Actuator 命令行界面 二、入门案例 1. 基于IDEA创建步骤 ① 创建新模块&#xff0c;选择Spring Initializr&#xff0c;并配置模块相关基础信息…

AI和GPT之间什么关系,GPT怎么推动AI发展

AI&#xff08;人工智能&#xff09;和GPT&#xff08;Generative Pre-trained Transformer&#xff09;都是与计算机技术相关的术语&#xff0c;但它们代表着不同层次的概念。以下是它们之间的区别&#xff1a; 定义&#xff1a; AI是指任何类型的计算机科学&#xff0c;如机…

【AWS入门】AWS Lamda

目录 创建一个Lamda函数用Lamda函数控制启停EC2实例创建一台EC2实例创建角色创建lamda函数 使用Amazon EventBridge计划启停实例创建EventBridge 用户往S3存储桶上传图片文件&#xff0c;触发Lambda函数&#xff0c;将图片压缩并上传至另一个存储桶创建两个存储桶通过Cloudform…

【前端】3.CSS基础知识

系列文章链接 1.背景知识与学习路线 2.HTML基础知识 3.CSS基础知识 4.JavaScript基础知识 文章目录 1. 基本概念1.1 CSS 定义1.2 CSS 用途1.3 CSS 支持的属性举例 2. CSS 基础语法2.1 demo2.2 选择器2.3 CSS创建2.3.1 外部样式表2.3.2 内部样式表2.3.3 内联样式 3. 总结3.1 CSS…

Linux线程:信号量

1. 信号量 &#xff08;1&#xff09;概念 信号量是非负整数计数器&#xff0c;表示当前可使用的公共资源的个数&#xff1b;主要用于进程或线程的同步或互斥。 信号量 > 0&#xff0c;则可访问公共资源&#xff0c;信号量&#xff1b;信号量 < 0&#xff0c;则阻塞。…