Error: Permission denied (publickey)

如果你想在一台电脑上配置 github 和 bitbucket,如何配置多个 SSH git key?
输入以下命令生成 SSH Key,注意在生成过程中最好输入新的名字,比如 id_rsa_github 和 id_rsa_bitbucket

<!-- more -->
ssh-keygen -t rsa -C "your_email@youremail.com"

然后将生成的 SSH key 文件内容复制到对应网址的个人用户设置中即可。但是明明按照官方教程做的但是在 git clone 的时候还是遇到以下问题:
Error: Permission denied (publickey)
困恼了几天的错误终于解决了。

参看这个文档

由于我用的是macOS Sierra 10.13.3,文档这里写着如果是macOS Sierra 10.12.2 及以后的版本需要在
~/.ssh 目录下创建一个 config 文件
congfig 文件的具体配置如下:

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa_github

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa_bitbucket

配置了这个文件之后,再次尝试

git clone git@github.com:shenxianpeng/blog.git

可以 download 代码了,两个 SSH git 都好用了 : )

Jenkinsfile 配置

最近在做有关 DevOps Build 的时候,学习了 Jenkins 的 Pipeline 的功能,不得不提到的就是 Jenkinsfile 这个文件。

以下面是我配置的 Jenkinsfile 文件及简单说明,更多有关 Pipeline 请看官方文档。

Read More

DevOps 实践

我想大多数的团队都面临这样的问题:

  1. 发布周期长
  2. 开发和测试时间短

Read More

Git 命令备忘

有些git命令总是记不住,在我这台 Ubuntu 使用 web 版 OneNote 不方便,那就把他们记到 Blog 里吧,需要的时候翻看一下。

git remote

git remote -v                 # 查看当前位置的远程代码库
<!-- more -->
git remote remove origin # 取消远程仓库
git remote add orgin git@github.com:shenxianpeng/nightwatch.git # 关联新的仓库

git log

# 得到某一时段提交日志
git log --after='2017-12-04' --before='2017-12-08' --author=xshen --pretty=oneline --abbrev-commit

git tag

git tag -a v1.6.700 -m 'Release v1.6.700'

# 给前面的提交补上 tag
git log --pretty=oneline
git tag -a v1.6.700 -m 'Release v1.6.700' e454ad98862

git push tag
git push origin --tag

设置 npm install 代理

npm config set proxy=http://10.17.201.60:8080       # 设置代理
npm config set proxy null # 取消代理

设置 cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install [name]
cnpm sync connect
cnpm info connect

Git remove and add remote repository

如果是通过 https 方式来 pull 和 push 代码,每次都要输入烦人的账号和密码
可以通过切成成 ssh 方式:

# 取消远程仓库
git remote remove origin
<!-- more -->

# 关联远程仓库
git remote add origin git@github.com:shenxianpeng/blog.git

Nightwatch 使用 VS code 进行调试

除了通过增加

<!-- more -->
console.log('===========')

来调试 Nightwatch 代码,如何通过配置 VS code 来 Debug Nightwatch 代码?

Ctrl+Shift+D 打开 Debug 界面,配置如下:

{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"type": "node",
"request": "launch",
"name": "npm test",
"program": "${workspaceRoot}/node_modules/nightwatch/bin/runner.js",
"args": [
"tests/DQA/DQA-221/login.js"
]
}
]
}

Nightwatch 持续集成问题

在持续集成执行自动化测试用例时候会遇到那些问题呢

  1. 运行时间过长
  2. 因为某些错误程序卡住
  3. 异常处理

Read More

Nightwatch 打开多个窗口

如果想打开两个窗口并控制那个窗口怎么办?

<!-- more -->
var url = process.env.BASE_URL, newWindow;

client.execute(function (url, newWindow) {
window.open(url, newWindow, 'height=768,width=1024');
}, [url, newWindow]);

client.window_handles(function(result) {
this.verify.equal(result.value.length, 2, 'There should be 2 windows open');
newWindow = result.value[1];
this.switchWindow(newWindow);
})

Ubuntu 上使用 VPN

如何在 Ubuntu 上连接 Cisco AnyConnect VPN

打开Terminal,执行:

Read More

Ubuntu 上安装 VS Code

在 Ubuntu 下面安装 Visual Studio Code

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
<!-- more -->
sudo apt-get update
sudo apt-get install ubuntu-make
umake web visual-studio-code

亲测,好用。

Nightwatch wait For Text

在使用 Nightwatch 做自动化测试的时候,会遇到这样一种情况:
创建一个 query, 等待这个query的状态从 Wait 变成 Running 最后到 Available 时再执行操作。
Nightwatch 并没有提供这样的方法,可以通过下面的方式解决。

Read More

Nightwatch 元素判断

Nightwatch 元素常用验证方法

验证元素的值信息

Read More

度过工作中挫折心结

对于一个不善于言表的我工作中遇到过

  • 过度理解在与同事之间的Email和Chat中的意思;
  • 同事之间的沟通中出现的分歧事后还会继续琢磨;
  • 十分关注自己的工作失与得在上级领导中的看法。

以下方式对我来说还比较有效的

Read More

Change Hexo code highlight

Hexo 默认主题代码高亮是黑色的,如果想换个风格?具体操作如下:

# 修改 highlight.styl 文件,路径
themes/landscape/source/css/_partial/highlight.styl
<!-- more -->

修改默认代码主题 Tomorrow Night Eighties

highlight-background = #2d2d2d
highlight-current-line = #393939
highlight-selection = #515151
highlight-foreground = #cccccc
highlight-comment = #999999
highlight-red = #f2777a
highlight-orange = #f99157
highlight-yellow = #ffcc66
highlight-green = #99cc99
highlight-aqua = #66cccc
highlight-blue = #6699cc
highlight-purple = #cc99cc

为主题 Tomorrow

highlight-background = #ffffff
highlight-current-line = #efefef
highlight-selection = #d6d6d6
highlight-foreground = #4d4d4c
highlight-comment = #8e908c
highlight-red = #c82829
highlight-orange = #f5871f
highlight-yellow = #eab700
highlight-green = #718c00
highlight-aqua = #3e999f
highlight-blue = #4271ae
highlight-purple = #8959a8

更多详情请参考 tomorrow-theme 修改。