晨曦's Blog

This is a window to the soul

前记

很久都没有写博客了,不是没时间,可能就是纯粹的懒吧。

背景

公司内部版本管理一直以来都是用的 Gitlab,而系统早在前年的时候就已经全部上了 Dockergitlab-runner 发布过后就一直想利用 gitlab-runner 进行 CI/CD 自动化的部署。

Gitlab && Gitlab-Runner

基于原生原方案

关于 gitlab && gitlab-runner 的安装我这边就不赘述了,不会的可以看官方的文档。

Gitlab

Runner 的安装和注册

我们在物理机或云上部署的时候一个流程图如下:

从上图我们可以看出,当我们的服务器多了之后每个服务器都需要安装 runner 服务,这对于我这样懒的人感觉好麻烦的;受不了。

当然也有可以解决的方案,如:单独用一服务器挂载共享磁盘。

基于 Docker 新方案

今天我们重点来谈谈,gitlab 如何和 docker 完美结合

先看看看架构图,如下:

接下来我们来说明一哈上面这张图的一个工作流程。

1、开发人员通过本地 push 代码到 gitlab
2、gitlab-runner 会根据代码根目录下的 gitlab-ci.yml 文件执行 CIgitlab-ci.yml 使用说明请移步:gitlab-ci 使用说明
3、在 CI 过程中会去读取你在代码下 Dockerfile 文件构建镜像。docker 的使用我们这里不做过多赘述
4、将镜像推送到镜像仓库,可以自建,也可以用像阿里云的仓库
5、docker 拉去镜像对服务进行部署。

你飘飘荡荡,轻歌曼舞在宛丘之上,是多么令人神往啊。我想着你爱着你,确实有着深深的感情啊,可是只是一厢情愿而没有什么希望啊!

冬冬冬冬,鼓声响了,那是你在宛丘之下唱歌跳舞。你手持鹭毛伞一年到头歌舞不停,不管是寒冷的冬天还是炎热的盛夏。

乒乒乓乓,瓦盆响了,那是你在宛丘道上跳舞歌唱。你手持鹭毛伞一年到头歌舞不停,不管是寒冷的冬天还是炎热的盛夏。

子之汤兮,宛丘之上兮。洵有情兮,而无望兮。
坎其击鼓,宛丘之下。无冬无夏,值其鹭羽。
坎其击缶,宛丘之道。无冬无夏,值其鹭翿。


既见君子,云胡不喜

Consolas 是一套等宽的字体,属无衬线字体,由 Lucas de Groot 设计。这个字体使用了微软的 ClearType 字型平滑技术,并随同 Windows Vista、Office 2007 及 Microsoft Visual Studio 中发行,或可在微软的网站下载。

不说了上面的都是废话,哈哈。

下载

YaHei.Consolas

安装

将上面下载的字体包解压,并按如下操作:

1
2
3
4
5
sudo mkdir -p /usr/share/fonts/consolas
sudo cp YaHei.Consolas.1.12.ttf /usr/share/fonts/consolas/
sudo chmod 644 /usr/share/fonts/consolas/YaHei.Consolas.1.12.ttf
cd /usr/share/fonts/consolas
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv

题外话

在这里再给两款编程常用的字体:(个人爱好罢了)
Monaco:https://github.com/cstrap/monaco-font

1
curl -kL https://raw.github.com/cstrap/monaco-font/master/install-font-ubuntu.sh | bash

Source Code Pro:https://github.com/adobe-fonts/source-code-pro

1
2
3
sudo mkdir -p /usr/share/fonts/adobe-fonts/source-code-pro
sudo git clone https://github.com/adobe-fonts/source-code-pro.git /usr/share/fonts/adobe-fonts/source-code-pro
sudo fc-cache -f -v /usr/share/fonts/adobe-fonts/source-code-pro

提笔为青春,人生正当年

对 Ubuntu 的折腾也有几年了吧,但是一直都是双系统或是虚拟机,最近将 windows 彻底的抛弃了。
接下来说我们今天的主角 Dropbox,一直以来都是利用 Dropbox 进行资料同步。转入 Ubuntu 也不例外,在安装的时候由于 Dropbox 已经被墙了所以想到了走代理。

Shadowsocks

这里也就不多说了,Shadowsocks-Qt5

proxychains

在使用 3 版本中的时候遇到了一些问题,所以我建议直接使用 4 版本。

1
2
3
4
5
6
7
8
9
10
11
12
# 安装
git clone https://github.com/rofl0r/proxychains-ng.git
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
sudo make install-config

# 配置 socks4 127.0.0.1 9050改为socks5 127.0.0.1 1080
vi /usr/local/etc/proxychains.conf

# 使用
proxychains4 telnet google.com 80

Dropbox

1
proxychains4 dropbox start -i

Dropbox 启动后就会自动下载并安装,登录过后可以通过配置选项走代理。

题外话:

解决 Ubuntu 下 Sublime Text 3 无法输入中文

网络配置

在安装 minimal 版系统之后 Centos 系统的网卡默认是没有被开启的,我们可以用下面的命令编辑网络配置:

1
vi /etc/sysconfig/network-scripts/ifcfg-eth0

如果使用 DHCP 则需要按以下格式设置:

1
2
3
4
5
6
7
DEVICE=eth0
HWADDR=08:00:27:0F:5C:17
TYPE=Ethernet
UUID=64ea57af-9329-40c4-90da-bf239cecea4f
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

如果是固定 IP 则需要按以下格式设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
DEVICE=eth0
HWADDR=08:00:27:0F:5C:17
TYPE=Ethernet
UUID=64ea57af-9329-40c4-90da-bf239cecea4f
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=61.128.128.68
DNS2=61.128.128.69
IPV6INIT=no

设置完成后需要运行以下命令重启网络服务:

1
service network restart

最后可以用以下命令来查看 IP 地址:

1
ifconfig
阅读全文 »

这是一首念远怀人的爱情词,是晏殊 [艳情] 词的代表作之一。运用 [雁足传书] 和 [鱼传尺素] 的典故,又化用了崔护《题都城南庄》[人面不知何处去,桃花依旧笑春风] 的诗句。

红笺小字,说尽平生意。

鸿雁在云鱼在水,惆怅此情难寄!

斜阳独倚西楼,遥山恰对帘钩。

人面不知何处,绿波依旧东流。


锦书难寄,相思难至

昨天写了一篇介绍 Sublime Text 插件的文章《带你在 Sublime Text 的世界里装逼 and 飞!》,今天我们再来谈一谈一个 PHP 的开发者如何利用 Sublime Text 为自己搭建一个不错的 IDE 环境;话不多说开始吧!

Sublime PHP Companion
这是一个非常棒的插件,但是安装好了之后要小小的设置一哈快捷键。在菜单栏找到下面的快捷键设置文件__Preferences > Key Bindings - User__。快捷键的设置请参考 PHP Companion Setting
__find_use (F5)__:当你的光标在这个类名上能快速的导入使用的类

__expand_fqcn (F6)__:当你的光标在这个类名上能快速的内联使用的类

就是这么的牛逼,这么的叼,当然上面只是一个示例,更多的功能自己折腾去吧!

阅读全文 »

Sublime Text 是什么,用来干什么就不用我说了哈!

这货的官网是 Sublime Text;然并卵,这不是我们要介绍的重点。介绍哈 Sublime Text 的插件管理 Package Control,Package Control 是 Sublime Text 的插件管理平台,我想应该是类似于 PHP 的 Composer 吧!好吧,其实我也不知道。哈哈

看这货就长这熊样:

我们来介绍哈怎么在 Sublime Text 中安装 Package Control,Sublime Text2 和 Sublime Text3 分别有不同的安装方式。

首先:我们可以在菜单栏__View->Show Console__打开 Console,或者是__Ctrl+`__打开 Console。

阅读全文 »

溱水流,洧水淌,两条河水哗哗奔流。小伙子和大姑娘,手中兰花散发着芳香。妹说:“咱们一块儿去看热闹吧?” 哥说:“我已经去过一趟了。” 姑娘说:“再陪我去一趟也无妨!” 洧水外,河岸边,地方宽敞,人儿喜洋洋,男女相伴,有说有笑,心花怒放。送支芍药花,以表真挚的情意。

溱与洧,方涣涣兮。士与女,方秉蕳兮。女曰观乎?士曰既且。且往观乎?洧之外,洵訏且乐。维士与女,伊其相谑,赠之以勺药。
溱与洧,浏其清矣。士与女,殷其盈矣。女曰观乎?士曰既且。且往观乎?洧之外,洵訏且乐。维士与女,伊其将谑,赠之以勺药。


维士与女,伊其将谑,赠之以勺药。

问题一:

1
2
3
Fatal error: Call to undefined method Composer\Package\CompletePackage::getTrans
portOptions() in C:\Users\idiot\AppData\Roaming\Composer\vendor\fxp\composer-ass
et-plugin\Package\AbstractLazyCompletePackage.php on line 184

解决办法:
下载最新的 composer.phar
https://getcomposer.org/download/

问题二:

1
2
3
4
5
6
7
Could not fetch https://api.github.com/repos/jquery/jquery, enter your GitHub cr
edentials to go over the API rate limit
The credentials will be swapped for an OAuth token stored in C:/Users/idiot/AppD
ata/Roaming/Composer/auth.json, your password will not be stored
To revoke access to this token you can visit https://github.com/settings/applica
tions
Username:

解决办法:
1、更新 Composer 到最新版本

1
php composer.phar self-update

2、登录到 Github https://github.com/settings/applications “generated a token” 增加一个新的 Token
3、运行

1
php composer.phar config -g github-oauth.github.com token
0%