怎么取名都不队-DevOps

写在前面:怎么修改这个项目

Step1. 修改functions/functions.go 文件,复制实例函数,修改为自己的函数

(注意!go采用命名方式来区分函数、变量的可见性,所以请确保函数名首字母是大写的)

Step2. 修改functions/functions_test.go文件,复制实例测试函数,修改为自己的测试函数

Step3. 修改main.go中func main函数体,打印自己编写的函数的返回值

Step4. commit并推送至远程仓库,CI/CD Pipeline自动触发

一、服务器硬件方案

我们的团队项目为FaaS平台,架构考虑采用微服务的方式进行组织。

所需要的服务器分为两类:

  1. 控制台、监控服务实例
  2. 计算实例

我们在Alpha阶段计划使用两台服务器对服务进行部署维护

控制台、监控服务实例

  • 地域:华北-北京四-可用区2
  • 计费方式:包年
  • CPU:2vCPU Arm64架构
  • 内存:4GiB
  • 带宽:1Mbit/s
  • 系统盘与数据盘:40GiB高IO通用型SSD
  • 操作系统:Ubuntu18.04 server 64bit with ARM

计算实例

  • 地域:华北-北京四-可用区2
  • 计费方式:包月
  • CPU:2vCPU x86_64架构
  • 内存:4GiB
  • 带宽:1Mbit/s
  • 系统盘与数据盘:40GiB高IO通用型SSD
  • 操作系统:Ubuntu 22.04 server 64bit

在Alpha阶段完成后,计划将计算实例修改为按需付费模式的相同配置服务器

二、团队沟通协作和代码管理方式

我们的团队沟通协作使用飞书来实现,主要看重其以下优势

  1. 文档内容丰富、共享编辑、交互评论便利
  2. 会议便捷,支持会议同时共享云文档
  3. 日程管理便捷,支持一键添加任务及日程

代码管理平台我们选用Gitlab实现,主要看重其以下优势

  1. 国内也能快速访问,无需进行其它科学配置
  2. 功能齐全,支持Group视图管理团队项目以及CI/CD流水线
  3. Community Edition完全够用,不需要额外付费

三、CI/CD实践

本次,我们使用一个打印小组成员学号的简单的go项目来进行CI/CD实践

(虽然直接推送到master分支很不专业,但是现在先这样吧)

项目目录

.
├── README.md # 简介
├── functions# 函数位置
│   ├── functions.go # 函数
│   └── funtions_test.go # go test 单测文件
├── go.mod # go module 配置文件
└── main.go # 主函数

CI/CD Pipeline 流程

.gitlab-ci.yml文件内容如下,修改自gitlab模板

stages:          # List of stages for jobs, and their order of execution
- build
- test
- deploy

build-job:       # This job runs in the build stage, which runs first.
stage: build
script:
  - echo "Compiling the code..."
  - go build *.go
  - echo "Compile complete."

unit-test-job:   # This job runs in the test stage.
stage: test    # It only starts when the job in the build stage completes successfully.
script:
  - echo "Running unit tests... This will take about 60 seconds."
  - go test ./functions -cover

deploy-job:      # This job runs in the deploy stage.
stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.
environment: production
script:
  - echo "Deploying application..."
  - go run *.go
  - echo "Application successfully deployed."

分为build/uni-test/deploy三个阶段,runner采用docker运行,基于镜像golang:1.20

最终触发列表

在这里插入图片描述

小组成员触发截图

@鲁文澔

在这里插入图片描述

@刘骁

在这里插入图片描述

@张峻源

在这里插入图片描述

@咸永飞

在这里插入图片描述

@杜品豪

在这里插入图片描述

@徐楚鸥

在这里插入图片描述

@孙靖懿

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值