1、Pipeline授权设置

Gitlab版本需要在9以上,授权账号必须是项目的Maintainer(gitlab 8 里面是master),在gitlab中创建application,callbackurl在rancher上复制

image-20191214193027408

image-20191214193138485

image-20191214193217867

image-20191214193509071

生成需要的ID和Key

image-20191214193835277

将刚才生成的ID和Key填入,地址输入自己gitlab的URL

image-20191214193949412

授权完成后,给流水线的运行设置资源限制

image-20191214194027442

image-20191214194108099

2、配置流水线

现在就可以开始设置流水线了,先设置代码库,开启需要运行的代码库

image-20191214194230120

设置什么条件可以触发流水线

image-20191214194305401

image-20191214194325948

开始配置流水线流程,选择你需要配置的分支

image-20191214194356585

image-20191214194421735

3、流水线配置

第一步是系统已经设定好的,我们只需要根据自己的需要设置后面的步骤

image-20191214194540875

第二步 build,选择的类型是运行脚本,执行mvn clean package命令,选用的镜像是我自己打包maven3.6镜像。 公司有自己的maven私服,那么打包maven镜像的时候,可以设置好setting.xml文件,上传到前面配置的harbor仓库就可以了。如果不知道setting文件放到mvn镜像中的位置,就先运行 mvn -X查看mvn读取配置文件的顺序,再把setting文件copy进去即可

image-20191214194705581

这一步主要是用build构建后的包,根据代码中的Dockerfile打包成镜像,当前目录依然是git clone后的目录,指定Dockerfile的相对位置,并命名打包后的惊醒名,其中镜像名中的:${CICD_GIT_COMMIT}是rancher提供的变量。这里Dockerfile路径和构建上下文路径是gitlab库中的dockerfile文件的路径。

image-20191214194801709

下面讲下dockerfile的配置:

1
2
3
4
5
FROM registry.hello.com/jdk:1.8_232    #这里是我私仓自己的jdk镜像

ADD ./target/app.jar app.jar

CMD ["java -jar app.jar -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"]

最后一步部署Deployment.yaml文件,yaml路径是你gitlab仓库中项目下的路径

image-20191214194824641

保存完成后就可以看到正在构建了

image-20191214195024989

全部运行成功后,就可以在工作负载看到pod的运行状态

image-20191214195120170

1、rancher介绍

每个团队都可以在他们选择的公共云或私有云上部署应用程序,Rancher 在 IT 和 DevOps 组织中扮演的角色如下:

image-20191125105835491

同时具备多种功能:

  • 内置 CI/CD 流水线
  • 告警和日志收集功能
  • 多集群管理功能
  • 集成 Rancher Kubernetes Engine (RKE)
  • 与各云 Kubernetes 服务(如 GKE、EKS、AKS) 集成

2、安装要求

2.1操作系统和Docker要求

image-20191125104210860

2.2硬件需求

HA集群

image-20191125104545019

单节点

image-20191125104610584

2.3Rancher与用户群集通信的端口要求

image-20191125104812067

3、单节点安装

1
2
3
4
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /usr/local/rancher:/usr/local/rancher \
rancher/rancher:latest

4、rancher的web界面

4.1自定义集群

通过宿主机的IP登录

image-20191125110853326

设置需要访问的URL地址

image-20191125110956934

设置中文字体

image-20191125111044885

添加集群

image-20191125111137103

生成自己的集群

image-20191125111225387

可以自定义RKE集群,也可以导入自己已经建好的集群。

image-20191125111408862

设置自定义集群的名字 ,选择需要安装的集群的版本。

image-20191125111607904

选择需要的网络策略。

image-20191125111641275

自己私有仓库地址,以及账密。

image-20191125111756334

根据自己需求设置。

image-20191125111943481

master节点选择后在你需要安装成master节点运行下面的命令

image-20191125112055397

在工作节点运行以下命令。

运行过程会去拉取所需镜像,时间视自己网络情况而定。

所有容器运行好之后可以看到以下界面,表示你的集群已经好了

image-20191125112358230

复制kubeconfig文件在master节点下执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 添加Kubernetes的yum源
$ cat >> /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

# 查看可安装的版本
$ yum list kubectl –showduplicates

# yum方式安装kubectl
$ yum install -y kubectl.x86_64

[root@node1 ~]# mkdir -p .kube
[root@node1 ~]# vim .kube/config

即可在master节点通过命令行查看整个集群信息。

4.2导入集群

image-20191125113210838

随便定义一个集群名。

image-20191125113405043

复制下面两条命令在master节点运行,运行第一条命令时,由于是自签证书会报x509错误,在执行下面一条命令跳过错误就好。

当在master节点看到

image-20191125113631090

则表示集群导入成功,如果pod状态报错,根据报错信息处理即可。

注册Leancloud

评论系统其实是放在Leancloud上的,因此首先需要去注册一个账号

官网:https://leancloud.cn/

认证完成后创建应用

image-20201230150742969

image-20201230150811967

点击设置获取appid 和 appkey

image-20201230150940084

修改配置文件

打开主题配置文件 搜索 valine,填入appid 和 appkey

1
2
3
4
5
6
7
8
9
10
11
12
valine:
appid: # 从 LeanCloud 的应用中得到的 appId
appkey: # 从 LeanCloud 的应用中得到的 APP Key
placeholder: 吐槽 # 评论框占位提示符
path: window.location.pathname # 当前文章页路径,用于区分不同的文章页,以保证正确读取该文章页下的评论列表
avatar: retro # Gravatar 头像展示方式
meta: ['nick', 'mail', 'link'] # 评论者相关属性
pageSize: 10 # 评论列表分页,每页条数
lang: zh-CN # zh-CN | zh-TW | en | ja
highlight: false # 代码高亮
recordIP: false # 是否记录评论者IP
serverURLs: # REST API 服务器地址,国际版不填

并修改评论插件为valine

1
2
3
comments:  # 评论
enable: true # 开启评论
type: valine # 指定使用的评论模块

阿里云购买域名

购买地址: https://wanwang.aliyun.com/domain/searchresult/#/?keyword=&suffix=com

通过CNAME解析

image-20201230094445258

登录github仓库,在根目录下创建CNAME文件

备注:因每次clean会删掉原来文章,需要将CNAME文件写入到source/目录下

image-20201230094345833

Github配置HTTPS

image-20201230091906008

image-20201230094113159

登录域名界面

image-20201230095210959

修改网站标题blog/_config.yml

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
keywords 网站的关键词。支援多个关键词。
author 您的名字
language 网站使用的语言。对于简体中文用户来说,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hanszh-CN
timezone 网站时区。Hexo 默认使用您电脑的时区。请参考 时区列表 进行设置,如 America/New_York, Japan, 和 UTC 。一般的,对于中国大陆地区可以使用 Asia/Shanghai

部署到github

image-20201230111015211

图床简介

​ 在写博客的过程中,我们都会遇到插入图片的情况,图片存在本地的话,我们把博客上传到网站后,会没有办法显示,而且存放在本地移植性也不太好,我们就需要图床辅助我们。

​ 图床就是一个便于在博文中插入在线图片连接的个人图片仓库。设置图床之后,在自己博客中插入的图片链接就可以随时随地在线预览了,并且不会因为任何意外原因无法查看,除非自己亲自删除。

备注:需要nodejs环境

工具介绍

  • Typora: Markdown工具,写Markdown文件的神器,简洁、方便、免费
  • PicGo 开源的图片管理工具,可以自己上传图片到各种图床
  • gitee-uploader: PicGo依赖这个插件进行上传到gitee 仓库
  • gitee码云: 借助gitee 码云建立自己的仓库,构建免费图床,国内速度快

Picgo 介绍

详情请看github地址: https://github.com/Molunerfinn/

安装完成后打开,选择插件安装gitee

image-20201229153454132

gitee 建立自己的图片仓库

官网:https://gitee.com/login

创建存放图片的库

image-20201229154329807

获取私人令牌

image-20201229154433314

image-20201229154601830

token令牌,进行复制后面会PicGo会用到,路径直接写名称就好,不用加/号

image-20201229155712389

测试上传

image-20201229155810273

在gitee查看

image-20201229155830364

Typora 设置支持PicGo

设置Typora工具,当插入图片的时候,触发上传图片操作,然后上传服务选择PicGo.app来支持

image-20201229160054210

需要的工具

nodejs: 包含俩个命令 node npm

hexo: 快速、简洁且高效的博客框架,支持markdown 插件和扩展性很好

git:需要安装git 通过git 命令来操作github

github账号:申请注册一个github账号,github提供了一个github pages功能可以支持站点软件版本

windows安装git

1、打开Git的官方网站:https://git-scm.com/

2、找到下载页:https://git-scm.com/downloads

3、找到Windows版本下载页面:https://git-scm.com/download/win

windows安装nodejs

官网下载地址:https://npm.taobao.org/mirrors/node/v14.15.3/node-v14.15.3-x64.msi

运行msi文件,按照提示一直走下去,安装完成后通过命令行检测结果

1
npm  -v

临时更换npm 源 (为了后面快速下载安装hexo,更换为国内的源)

1
2
3
4
npm config set registry https://registry.npm.taobao.org
npm config get registry

#看看终端显示信息,如果看到这行信息,说明配置成功: https://registry.npm.taobao.org/

备注:按照系统默认安装,不要修改或设置config文件路径,否则会在安装hexo找不到命令

安装Hexo

windows初始化hexo

通过npm来安装hexo,下面前俩个命令安装需要一点时间,blog目录就是博客目录,根据自己情况选择目录

1
2
3
4
5
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

终端显示如下:

1
2
3
INFO  Validating config
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

在本地浏览器访问http://localhost:4000

image-20201228134458558

Github准备

1、注册账号并登录 https://github.com

2、新建一个仓库

image-20201228135107663

注意: 创建repository之前,点击settings更改下默认仓库分支名字 由 main 改为master

image-20201228140042861

然后打开仓库创建一个 index.html 文件,并随意先写点内容,比如: 你能看到我 说明部署成功~

image-20201228140248390

image-20201228140336250

image-20201228140351507

现在打开http://[用户名].github.io就能看到自己的站点了

image-20201228140625169

配置SSH key

执行以下命令全局配置一下本地账户

1
2
git config --global user.name "用户名"
git config --global user.email "邮箱地址"

生成一对密钥 SSH key

1
ssh-keygen -t rsa

image-20201228141002999

然后登录github 在github 上添加刚刚生成的ssh key 把公钥复制粘贴上去

image-20201228145139217

创建一个新的 SSH key, 标题随便,key 就填刚才生成那个,确认创建,搞定!!这样在你的 SSH keys 列表里就会看到你刚刚添加的密钥

image-20201228145222267

首次使用还需要确认并添加主机到本机ssh 信任列表 下面可以看到success 返回成功

image-20201228145421096

将hexo部署到github仓库

​ 这个时候我们把本地hexo 和github pages部署已经完成了,接下来我们要把本地的hexo静态站点部署到github pages中,然后通过github pages 我们就可以在互联网上浏览到博客了。

部署之前需要更改hexo 配置 和安装部署插件

第一: 进入blog 目录,打开仓库_config.yml 配置文件,拉到文件末尾,填上如下配置(也可同时部署到多个仓库,比如也可以支持gitee )

1
2
3
4
5
6
7
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
branch: master
repo:
github: git@github.com:yangpiqiulaotou/yangpiqiulaotou.github.io.git #仓库名字改成自己的

第二: 要安装一个部署插件 hexo-deployer-git

1
npm install hexo-deployer-git --save

第三: 最后执行以下命令就可以部署上传啦,以下 g 是 generate 缩写,d 是 deploy 缩写:

1
hexo g -d

image-20201228150622519

稍等一会,在浏览器访问网址: https://你的用户名.github.io 就会看到你的博客

hexo 命令

命令 功能
hexo clean 清除所有生成的页面文件
hexo g 生成页面
hexo deploy 推送部署到远程服务器
hexo n xxx 新建一篇名为xxx的文章

命令行测试发布博客

image-20201228150806161

编辑完成保存,然后进行发布,注意: 一定要在blog目录下执行命令,然后通过域名进行访问

1
2
cd ~/blog
hexo clean && hexo g -d

image-20201228170456678

更换主题

主题官网:https://hexo.io/themes/

1
2
cd ~/blog
git@github.com:fluid-dev/hexo-theme-fluid.git themes/fluid

在_config.yml 配置文件中,替换theme 参数,我们 把原来的注释掉加#,然后新增一行theme: next

1
2
3
4
#theme: landscape
theme: fluid # 指定主题

language: zh-CN #修改为中文

配置主题fluid

fluid官网:https://hexo.fluid-dev.com/docs/guide/#%E8%A6%86%E7%9B%96%E9%85%8D%E7%BD%AE

根据官网修改自己的需求选项,比如博客名称、个人简介、自己狂拽酷帅吊炸天的昵称…

修改页面图片

image-20201229150548121

将自己选好的图片放到这个文件夹下,图片格式为xx.png类型,然后在主题下面的_config.yaml配置文件中修改图片名称,比如:

1
/avatar.png     #然后改成ss.png

新建about 关于页面

1
hexo new page about

更新到github

1
hexo clean && hexo g -d

最后效果图

image-20201229150931869