DevOps与云计算(2)- 阿里云上以DevOps实现简单网站搭建


阿里云上以DevOps实现简单网站搭建

今天的主要内容:

  • 阿里云简单介绍
  • 简单的web Server构建
  • 持续构建,部署,监控告警设置

课程要点

阿里云服务简介

认识下阿里云服务页面功能
1、基础介绍
2、云监控服务
能看到服务器的各种基础指标,高级监控功能需要购买升级

在阿里云上以DevOps简单实现网站搭建

从一个简单的Web开始

基本业务代码实现
go install
go fmt
go test 自动测试,统计测试时间,
go get = git clone
管理面代码实现

编写一个webserver

代码托管打包构建
git status
git add .
git commit -m "first page"
git push
部署上线
在阿里云目标目录克隆代码
git clone ...

手动在云上操作,会容易出错,考虑使用代码完成。

> deploy Server开发
# 一共三步,看如何实现
git pull
git push -> git pull
deploy

deploy.sh文件

# 重启服务 shell 脚本,deploy.sh
# 先杀掉服务,以免后面启动失败,导致任务失败;不建议用kill -9 不安全
kill -9 ${pgrep webserver}
# 进入到云上网站目录
cd ~/newweb/
# 拉取最新代码到当前云目录
git pull https://github.com/avenssi/newweb.git
# 进入服务目录
cd webserver/
# 启动webserver,&指后台运行,以免session断掉
./webserver & 
// 上述 go 语言实现 deployserver.go
// 重启服务,代码调用重启服务脚本
package main

import (
	"io"
	"net/http"
	"os/exec"
	"log"
)
// 调用重启服务shell脚本
func reLaunch(){
	cmd := exec.Conmmand("sh"."./deploy.sh")
	err := cmd.Start()
	// 如果有问题直接退出
	if err != nil{
	log.Fatal(err)
	}
	err = cmd.Wait()
}

func firstPage(w http.ResponseWriter,r*http.Request){
	io.WriteString(w,"<h1>Hello,this is my deploy server!,</h1>")
	reLauch()
}

// 本地编译,提交到Git,

env GOOS=linux GOARCH=amd64 go build
git add .
git commit -m "change the web text"
git push origin master

阿里云端

cd newweb
git pull
~目录下
cp newweb/deployserver/deployserver deployserver
cp newweb/deploy.sh  deploy.sh
./deployserver

Github中webhooks配置
在这里插入图片描述
提交过程之后,自动被调用,新代码会下来。就是传说中的钩子,改动之后触发拉取。
在这里插入图片描述
试一下是否好用:
1、本地改下页面代码,编译,提交到github
2、提交完成之后,刷新下页面,看看页面上显示的是不是最新的代码。是的,则成功了。

设置监控告警

1、进入云监控控制台

站点监控相当于一个拨测工具,隔一段时间就去ping一次。

2、使用站点监控
在这里插入图片描述
设置告警规则
在这里插入图片描述

网站简单的自动恢复

。。。

课程总结

1、基本业务代码实现(业务面webserver、管理面deployserver)

  • 完成了开发 和 运维 的两个重要层面代码的编写

2、代码的编译构建打包以及简单的DevOps自动化

  • 实现简单的 运维自动化,实现本地push代码自动部署到阿里云。
  • 在GitHub上使用webhooks 的配置实现自动部署功能。

3、利用阿里云完成网站的部署和监控

  • 阿里云站点监控、告警规则设置
代码目录结构
  • newweb
    • deployserver
      • deployserver
      • main.go
    • webserver
      • main.go
      • webserver
    • deploy.sh
    • README.md
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值