从装机到运行2.0

记录云主机重装后的环境搭建

本地生成 SSH公钥

已有公钥请忽略

1
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"

一路回车, 直到完成

本地连接云主机

在本地的 liunx终端(Git Bash 或 wsl) 中执行下的命令, 将本地的 SSH公钥 添加到云主机

1
ssh-copy-id -i .ssh/id_rsa.pub <username>@<ip>

延长 ssh 连接时常, 避免经常断开

1
vim /etc/ssh/sshd_config

在此文件中找到以下配置项:

1
2
#ClientAliveInterval 0
#ClientAliveCountMax 3

改成

1
2
ClientAliveInterval 30
ClientAliveCountMax 86400

云主机生成 SSH公钥

连接云主机, 执行下面的命令, 生成 SSH公钥

1
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"

一路回车, 直到完成

复制 ~/.ssh/id_ed25519.pub 里面的内容(也就是 SSH公钥)

在自己的git托管网站的设置中添加刚刚复制的公钥

执行下方命令, 验证是否添加成功

1
ssh -T git@gitee.com

添加成功后, 就可以使用SSH协议对仓库进行操作了

必须准备

安装软件

1
apt install -y docker.io docker-compose

clone 启动必须项目

1
2
3
4
5
6
# certbot
git clone git@gitee.com:xxx/certbot.git
# nginx
git clone git@gitee.com:xxx/nginx.git
# jenkins
git clone git@gitee.com:xxx/jenkins.git

云主机生成 HTTPS证书

1
2
3
4
5
$ cd certbot
$ sh make.sh
>> xxxxx@xxxxx.com
>> Y
>> Y

生成HTTPS密钥

复制刚刚显示的 _acme-challenge 和 xxxxxxxxxxxxxxxxxxxxxxx 到云解析添加记录

云解析填写

在cmd中运行下方命令 如果显示刚刚填写的值就验证填写成功了

1
nslookup -qt=txt _acme-challenge.xxxxxx.com

继续回车生成证书

运行nginx

1
2
$ cd nginx
$ sh run.sh

运行jenkins

1
2
$ cd jenkins
$ sh run.sh

安装Jenkins插件

https://jenkins.xxxxxx.com/ 中登录后安装以下插件

  • Localization: Chinese

进入后再安装

  • Gitee
  • Docker Pipeline

插件管理入口

Jenkins配置项目

  • 创建流水线

选择创建流水线任务

创建流水线

  • 配置触发器

勾选 Gitee webhook 触发构建, 点击右下方的生成, 生成自己的 Gitee webhook 密码, 记住这个密码和右上方的地址

到代码托管网站的该项目的设置中, 找到webhook, 点击添加, 填上刚刚复制的地址和密码

先不要关闭这个网页

配置触发器

  • 配置流水线

填写项目的git地址, 指定分支和脚本路径

配置流水线

  • 保存

到刚刚的webhook配置页面, 点击测试.

如果自动开始构建, 代表创建成功