Hexo配合Jenkins自动部署博客
上一篇文章我描述了怎么把写的文章自动推送到OSS,但是还存在一个问题,我的博客代码是托管在自己部署的gitea服务器上的,每次写完文章都需要自动部署,然后提交代码。还是不够方便,那么有没有一种方式能提交代码后自动推送oss呢?
本文就介绍一种利用Jenkins来自动拉取提交的代码,然后推送到OSS。实现每次写完文章只需要提交代码就可以了。下面介绍具体的步骤
Docker安装Jenkins找到合适的位置创建目录jenkins。使用docker-compose的方式安装jenkins,下面给出docker-compose.yml文件内容
12345678910111213141516171819202122232425262728293031323334---version: "3"services: jenkins: image: jenkins/jenkins:latest container_name: jenkins environment: - PUID=1000 - PGID=1000 - TZ=As ...
Hexo博客放到OSS并自动更新
Github Pages服务国内访问巨慢,Gitee Pages服务使用自定义域名的话价格较贵,最终我采用了使用OSS来放置静态网页,配合阿里的CDN访问速度还算不错。
文章主要分两部分,分别介绍OSS放置静态网页的方法和博客更新后怎么自动推送到OSS
OSS放置静态网页创建Bucket如图创建Bucket
123456789Bucket名称:没有要求,不重复就可以地域:阿里云的节点国内访问速度都可以,如果不打算使用CDN服务的话,可以选择华东节点。如果使用CDN服务的话,选哪都行。存储类型:一般选择标准存储就可以了。同城冗余存储:不需要版本控制:不需要读写权限:一定要选公共读服务端加密方式:无实时日志查询:看需求,有免费7天的实时日志查询,但有900GB/天的限制定时备份:不开通
开启静态页面功能我们尽如bucket页面,找到数据管理->静态页面。
随后如图所示进行配置:
自定义域名做完上面的步骤,我们其实已经可以在OSS里存放我们的静态网站了,但是所使用的域名非常冗长,在此我们使用自定义域名(前提是自己的域名已经备案)
我们在Bucket配置中找到域名管理 ...
使用Hexo搭建个人博客
我之前的博客网站都是在自己的NAS中放的,使用CND使得可以使用80和443端口访问家里NAS的博客,但是因为DDNS更换IP不及时的缘故,每天要断开几分钟,家里偶尔又会停电,导致百度和Google的收录效果奇差。无奈只得放弃在NAS放置个人博客。
不在NAS中放置博客后,我最终采用了使用纯静态网页Hexo的方式,并且将静态网也放在了OSS中,本篇主要介绍Hexo个人博客的搭建,OSS的设置放在下一篇。
搭建Hexo需要安装nodejs,到nodejs官方网站下载最新的node并安装。
随后打开命令提示符,找到合适的位置依次输入如下命令:
12npm config set registry https://registry.npmmirror.com/npm install -g hexo
随后创建个人博客文件夹并进入文件夹
1234mkdir 个人博客cd 个人博客hexo inithexo server
不出意外的话,此时我们就可以使用localhost:4000来访问博客了。
安装主题Hexo默认的主题并不一定符合我们的审美,在这里推荐下butterfly主题,也是我目前 ...
NAS使用timymediamanager刮削海报
很多时候,我们使用的流媒体服务不能很好的对海报进行刮削,此时可以借助第三方的tinymediamanager(后面统一称ttm)来对海报进行刮削。
我采用docker的方式来安装ttm
安装TTM首先在nas中合适的位置创建ttm文件夹,在文件夹中创建docker-compose.yml文件,文件内容如下:
123456789101112131415161718192021222324---version: "3"services: tinymediamanager: image: tinymediamanager/tinymediamanager:latest container_name: tinymediamanager environment: - PUID=0 - PGID=0 - UMASK=000 volumes: - ./config:/config - ./video:/video ports: - "4000:4000" re ...
群晖DSM降级指南
一些老机型升级DSM7.X以后,CPU占用直线飙升,套件使用不正常,此时需要对群晖系统进行降级,在此给出一次群晖系统降级DSM6.2.4的过程。
下载DSM6.2.4首先到群晖官方下载DMS6.2.4,在网页里面选择自己的机器型号,如图:
下载Putty软件在升级过程中需要使用ssh和telnet连接nas,如果有其他工具的话可以使用其他工具。
可以在官方下载,也可以点这里下载我存储的备份。
群晖打开SSH和Telnet如图:
ssh连接nas并设置按如下方法敲命令:
123456login as: adminadmin@192.168.31.201's password:Could not chdir to home directory /var/services/homes/admin: No such file or directoryadmin@NAS:/$ sudo -iPassword:root@NAS:~# vim /etc.defaults/VERSION
在打开的文件中,将文件改成注意:需要先敲键盘i才能修改
12345678majorversi ...
ls、cp、rm、mv命令详解
ls、cp、rm和mv命令是我们在使用linux时最常用的命令,也是使用linux最基础的命令。
ls命令
ls命令主要用来检视目录和文件
123456789101112131415161718192021222324[root@study ~]# ls [-aAdfFhilnrRSt] 文件名或目录名称..[root@study ~]# ls [--color={never,auto,always}] 文件名或目录名称..[root@study ~]# ls [--full-time] 文件名或目录名称..选项与参数:-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)-A :全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录-d :仅列出目录本身,而不是列出目录内的文件数据(常用)-f :直接列出结果,而不进行排序 (ls 默认会以文件名排序!)-F :根据文件、目录等信息,给予附加数据结构,例如: *:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;-h ...
NAS中安装npm
安装NPM
npm是nginx proxy manager的简称,如果在nas里的服务很少用docker安装的话,推荐使用它来进行反向代理。这里我介绍下具体的安装和使用方法。
在nas上合适的位置创建目录,并创建如下文件。
其中docker-compose文件如下:
12345678910111213141516version: '3'services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '680:80' - '681:81' - '6443:443' volumes: - ./data:/data # 把数据存放在在当前文件夹下的 data 文件夹中 - ./letsencrypt:/etc/letsencryptnetworks: default: external ...
NAS中安装docker-compose
使用docker能很方便的搭建一些自建服务,而docker-compose是一个是用于定义和运行多容器 Docker 应用程序的工具。通过docker-compose,我们可以使用 YML 文件来配置应用程序需要的服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
注:群晖安装完docker套件后,默认已经安装了docker-compose
首先使用ssh连接nas这一步请自行百度。
下载docker-compose1curl -L https://oss.dreamlyn.cn/nas/blog/docker-compose > /usr/local/bin/docker-compose
为docker-compose添加可执行权限1chmod +x /usr/local/bin/docker-compose
查看版本(检查可用性)1docker-compose --version
NAS双网口改桥接模式
当我们有两台设备需要上网(其中一台是群晖NAS),但是旁边只有一个网口时,可以采用将NAS双网口改成桥接模式来实现两台设备的网络连接。
我们将群晖的两个网络接口分别命名为接口1和接口2,具体的连接方式为,原有的网口接NAS的网络接口1,NAS的网络接口2连接另外一台设备。
打开Open vSwitch功能进入群晖系统–>控制面板–>网络–>选中“局域网”–>点击“管理”,在下拉菜单中选择“Open vSwitch 设置”
在弹出界面中选中“启用”
删除ovs_eth绑定网口开启群晖的SSH并登录,使用sudo -i获取root权限。通过ifconfig可以看到ovs_eth0和ovs_eth1,这是群晖两个默认的网桥,对应连接的接口是eth0和eth1,要确定一下哪个是连接路由器的,哪个是连接电脑的。 (以下以ovs_eth0连接路由器,ovs_eth1连接电脑为例)
随后输入命令删除ovs_eth1
1ovs-vsctl del-br ovs_eth1
将eth1加入ovs_eth0网桥使用下面的命令添加ETH1
1ovs-vsctl add ...
外网访问NAS
很多朋友买回NAS后很关心的一个问题就是如何在外网访问。这里我把自己认为比较好的方法罗列出来并一一实现,我们可以根据自己的实际情况选择使用。
注:在此不考虑quickconnect这种nas自带服务的方式。
外网访问方法汇总如图,汇总了我目前认为在外网访问家中NAS比较好用的方法,首推的方法当然还是开通公网IP。
开通公网IP之后启用DDNS,然后我们就可以直接使用路由器端口映射到NAS,或者使用Traefik、npm代理都可以。
如果实在无法开通公网IP的话,也可以使用frp进行内网穿透,内网穿透需要有一个拥有公网IP的服务器做一个跳板,有个人服务器的话最好,没有的话,可以使用第三方的免费frp服务。
下面我对这些方法逐个进行介绍。
可以开通公网IP首先介绍有公网IP的情况,有公网IP的话,需要配置下DDNS,我在之前NAS使用DDNS那篇文章有过相关的介绍,不清楚怎么配置DDNS的可以去参考下。
我在这里假设我们的DDNS域名是*.deamlyn.cn,也就是dreamlyn.cn的所有子域名都指向家中的网络。
路由器端口映射到NAS配置好DDNS后,外网访问NAS的最 ...