0%

[toc]

Gitlab CI/CD 管道配置参考

在每个项目中,使用名为.gitlab-ci.yml 的 yaml 文件配置 Gitlab CI/CD 管道。

.gitlab-ci.yml 文件定义了管道的结构和顺序,并确定:

使用 Gitlab Runner 执行什么。

遇到特殊情况时要做什么决定?例如,当一个进程成功或失败时。

本主题介绍 CI/CD 管道配置。有关其他 CI/CD 配置信息,请参阅:

Gitlab CI/CD 变量,用于配置管道运行的环境。

Gitlab Runner 高级配置,用于配置 Gitlab Runner。

我们有配置管道的完整示例:

要快速介绍 Gitlab CI,请遵循我们的快速入门指南。

有关示例的集合,请参见 Gitlab CI/CD 示例。

要查看企业中使用的大型.gitlab-ci.yml 文件,请参见 gitlab ce 的.gitlab-ci.yml 文件。

如果你有一个镜像存储库,其中有 gitlab,你可能需要在项目的 Settings > Repository > Pull from a remote repository > Trigger 镜像更新管道。

Read more »

[TOC]

gitlab搭建及DevOps初探

docker搭建gitlab和gitlab-runner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
version: "3.7"
services:
gitlab-test:
image: gitlab/gitlab-ce:latest
container_name: gitlab-test
restart: always
hostname: '**you ip**'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://**you ip**:32189'
gitlab_rails['gitlab_ssh_host'] = '**you ip**'
gitlab_rails['gitlab_shell_ssh_port'] = 22220
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@xxx.com"
gitlab_rails['smtp_password'] = "xxx"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxx'
ports:
- '32189:32189' // 80:80
- '4430:443' // 443:443
- '22220:22' // 22:22
volumes:
- './gitlab/config:/etc/gitlab'
- '.gitlab-runner/gitlab/logs:/var/log/gitlab'
- './gitlab-runner/gitlab/data:/var/opt/gitlab'
privileged: true
gitlab-runner:
image: gitlab/gitlab-runner:latest
restart: always
container_name: gitlab-runner
privileged: true
# depends_on:
# - gitlab-test
ports:
- '28093:8093'
volumes:
- './gitlab-runner/config:/etc/gitlab-runner'
- '/var/run/docker.sock:/var/run/docker.sock'

Read more »

[TOC]

项目上线后,有一些场景需要收集日志进行业务分析或者进行业务监控用,通常需要将日志转为json的格式,这里记录下laravel框架中如何最小化改动进行日志格式化,完成收集

Read more »

[TOC]

1
2
3
4
5
6
7
8
9
10
11
12
13
docker-machine create -d xhyve nginx
docker-machine create -d xhyve consul
docker-machine create -d xhyve work1
docker-machine create -d xhyve work2
docker-machine ls


docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
consul - xhyve Running tcp://192.168.64.15:2376 v19.03.5
nginx - xhyve Running tcp://192.168.64.14:2376 v19.03.5
work1 - xhyve Running tcp://192.168.64.16:2376 v19.03.5
work2 - xhyve Running tcp://192.168.64.17:2376 v19.03.5
Read more »

名词解释

1、基础模块

要熟练使用Rabbitmq就必须知道其名词含义和工作机制

基本流程

基本的工作流程是这样的:生产者,就是你的发送程序,通过TCP连接,创建channel(通道)向指定的exchange(交换机)发送一个消息,exchange再将消息下发到binding(绑定)的queue(队列)中,然后消费者(处理程序)监听接收queue中的消息进行处理。

这是google的一张流程图

Read more »

[TOC]

性能概念TPS、QPS、RPS

TPS

TPS:Transactions Per Second(每秒事务处理数),指服务器每秒处理的事务次数。一般用于评估数据库、交易系统的基准性能。

QPS

QPS:Queries Per Second(查询量/秒),是服务器每秒能够处理的查询次数,例如域名服务器、Mysql查询性能。

RPS

RPS:Request Per Second(请求数/秒)RPS(Request Per Second)和QPS可以认为是一回事。RT:Response Time(响应时间):客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。也叫Think Time。

并发数与TPS/QPS的关系

QPS(TPS)= 并发数/平均响应时间这里的并发数如果为事务处理请求数,则为TPS,如果为查询请求数,则为QPS。

Read more »

[TOC]

最近在做的一个项目使用的是Azure服务器,其中数据库、redis、和对象存储和国内厂商都有不同,最直观的区别就是Azure基本都是SSL方式进行连接,相对国内云服务器厂商的服务接入没有那么无脑,今天简单记录下Azure提供的blob存储在lumen框架的接入

几个轮子

Read more »