Jenkins

1. Jenkins 官网

jenkins

2. Jenkins 插件下载地址

Jenkins Plugin

3. Jenkins 设置 Gradle wrapper 的路径

Jenkins 设置的 Gradle wrapper 的路径,是包含 gradlew 和 build.gradle 的目录,一般是项目的根目录,如:/root/.jenkins/workspace/AndroidStock 。并不是指项目中 gradle-wrapper.jar 的位置

sdkmanager简单使用

sdkmanager 工具位置

1
../Android/Sdk/tools/bin

sdkmanager 最全命令帮助

1
./sdkmanager --help

sdkmanager 常用命令

sdkmanager 命令行确认许可

1
./sdkmanager --licenses

sdkmanager 获取更新列表

1
./sdkmanager --list

SSH强制指定登录验证方式及使用代理

强制使用密码方式登录

1
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@139.180.xx.xx

SSH使用代理登录

nc 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1、nc 命令
常用参数:


-X 指定代理协议


4 SOCKS v.4

5 SOCKS v.5(默认)


connect HTTPS proxy



-x 代理地址[:端口]
如果没有指定端口,采用协议常用端口,如:

SOCKETS 使用 1080
HTTPS 使用 3128

参考:舌尖上的大胖

nc 命令行

1
$ ssh -o ProxyCommand="nc -X 5 -x proxy.net:1080 %h %p" user@server.net

强制指定密码验证方式,并使用代理

1
ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:1080 %h %p" -o PreferredAuthentications=password -o PubkeyAuthentication=no root@xx.xx.xx.xx

scp命令常用语法

scp命令

基本格式:
scp file user@host:dir

复制文件到指定端口
scp -P port file user@host:/dir

从远端主机将文件复制到另一台远端主机
scp user1@host:file1 user2@host2:file

从远端主机将文件复制到本地
scp user@host:/远程文件路径 /本地文件存储路径
演示:
scp root@123.123.123.123:/home/storage/jdk.zip /home/local/jdk.zip

Hexo为一篇文章添加多个tag

写文章要给 Hexo 的文章添加多个tag时,发现语法 “tags: Hexo 添加多个tag” 和 “tags: Hexo,添加多个tag” 均不起作用。

经过查询与实验,得知为 Hexo 文章添加多个 tag ,遵从 YAML 语法。

如下:

1
2
3
tags:
- Hexo
- 添加多个tag

成功添加多个tag,效果查看本文章后的 tags 标签栏。

Ubuntu环境变量设置位置汇总

ubuntu 环境变量配置:

因在开发编译时是找不到命令,原因是将路径添加到环境变量,如何设置环境变量,搜索一下,找到以下关于环境变量设置的几个文件及何时执行。

首先要认识几个和环境变量有关的文件:

/etc/profile —— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;

/etc/environment —— 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量;

/etc/bashrc —— 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;

~/.profile —— 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行用户的.bashrc文件;

~/.bashrc —— 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;

认识以上5个文件的作用之后,知道该怎么设置了。我选择第2种方式,修改/etc/environment 文件

打开终端 输入 vim /etc/environment 回车( 用vim来编辑,没有安装vim的可以用gedit来编辑)

npm卡住的问题

一、查看卡住位置

使用命令npm install –verbose来替代
例如:
npm install -g browser-sync

npm install –verbose -g browser-sync

二、安装 nrm 源管理工具

  1. 安装
    npm install -g nrm
  2. 命令
    ① nrm ls

    列出所有可用源:

三、再次进行安装

经过上述两步后,切换到合适的源,再进行安装,就能够用新的优质源顺利安装了。

管理多个Git账户

[TOC]

前言

在搭建 Hexo 博客的时候,由于本地已经有一个自建的 Git 仓库在使用中,需要再增加一个 Github 的仓库,就出现了管理多个 Git 仓库账户的需求。网上大部分使用 ssh-keygen 生成默认秘钥的方式就不能满足需求了,需要手动创建多个秘钥,并进行管理。所以准备记录以下这个过程。最后会说明在 Hexo 中使用自定义秘钥账户进行发布博客的方法。

解决方法

  • ssh-keygen 允许自定义秘钥key的路径及名称,据此可以生成多个不同的秘钥key
  • 当有两个(或多个)不同的秘钥Key时,用 ~/.ssh 目录下的 config 文件管理它们。

实现过程

1. 生成默认秘钥

1
ssh-keygen -t rsa

以上是最简单的生成 ssh 秘钥key的方式,一路回车就可以在 /home/youname/.ssh/ 路径下生成默认的 id_rsa 和 id_rsa.pub

2. 生成自定义命名的 ssh 秘钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ssh-keygen -t rsa -C "xxxxx@xxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/qiang/.ssh/id_rsa): /home/qiang/.ssh/github_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/qiang/.ssh/github_rsa.
Your public key has been saved in /home/qiang/.ssh/github_rsa.pub.
The key fingerprint is:
SHA256:jufD3OPmSQNvRo2Ml4OMGhWJssXVrvGI5xJtIrxat8Q shq_qianchi@163.com
The key's randomart image is:
+---[RSA 2048]----+
| . ooo |
| . + ... |
| + .. |
| . ..o.+ + |
| . .o.=S B . |
| o.+o*o.= . |
| .oE*.oo.* |
| ..o...o+++o |
|.. .. .=+. |
+----[SHA256]-----+

ssh-keygen -t ras 同生成默认秘钥一样,相同命令,没有任何区别。 -C 代表注释,可以用邮箱来做区分,可以不写。

注意第3行,这里是回车后的 “ Enter file in which to save the key (/home/yourname/.ssh/id_rsa) : “
这句话意思是指定秘钥存放在哪里,这里默认回车的话,生成的就是 /home/yourname/.ssh/id_rsa 默认命名的秘钥。当需要生成多个秘钥共存时,我们可以指定生成的秘钥路径及名称,我生成的 Hexo 使用的 Github 秘钥 路径及命名为:/home/qiang/.ssh/github_rsa 。

后面一路回车就在 /home/yourname/.ssh/ 路径下生成了我自定义命名的 github_rsa 和 github_rsa.pub 秘钥文件。

简单来说,生成 ssh 秘钥就是一行命令 ssh-keygen -t rsa 。生成多个秘钥与生成默认秘钥的唯一区别,就是在命令执行后出现第一个交互提示时,指定自定义命名的秘钥路径。

3. 管理多个 ssh 秘钥

在 ~/.ssh 目录下创建名为 config 的文件.

添加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
# 用于配置私钥对应的服务器
Host gituser
HostName https://xxx.xxx.xxx.126
Port 27704
User gituser
IdentityFile ~/.ssh/id_rsa_my

# 配置 Github 秘钥
Host jvedi.github.com
HostName github.com
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
  • 以上结构分析

Host :
主机的别名,可以用于区分主机,可以用于 ssh xxx , 用这个名字直接找到此配置项连接 ssh 。配合 ssh-add 添加秘钥管理后,可以用于 ssh 快速登录。

HostName :
目标主机的地址,也就是平时使用 ssh 后面跟的地址。 如 ssh user@123.123.123.126

Port :
指定的端口号,也就是平时使用 ssh 后面跟的端口。如 ssh user@123.123.123.126 -p 27700

User :
指定登录的用户名,也就是平时使用 ssh 后面 @ 符号前的用户。 如 ssh username@123.123.123

IdentifyFile :
指定的私钥地址。如 ~/.ssh/github_rsa 私钥的路径在这里指定,~/.ssh/github_rsa.pub 公钥内容会上传到服务器,连接时进行公私钥加密验证。

  • 在ssh的远端添加新生成的公钥
  1. 将刚才在 ~/.ssh 路径下生成的 xxx.pub 公钥里的内容全部复制,添加到远端。
  2. Github 上的公钥添加多说一句:账户 Settings -> SSH and GPG Keys -> New SSH Key 。 Title 随便填,内容写 xxx.pub 里面的内容。
  • 进阶应用:免密登录

设置了 config 之后,可能在每次连接的时候,都要求输入私钥的对称加密秘钥,所以要把这个私钥加入到 authentication agent 中解决这个问题。

使用 ssh-add 添加私钥到 ssh-agent 中去,让 ssh-agent 进行秘钥管理,而不再需要每次输入的时候都重复输入密码。

1
ssh-add ~/.ssh/github_rsa  # github_rsa 指你要添加 ssh-agent 管理的私钥,替换成自己的
  • 进阶应用:管理 ssh-agent

ssh-add -D 删除所有管理的秘钥
ssh-add -d 删除指定的秘钥
ssh-add -l 查看限制增加进去的指纹信息
ssh-add -L 查看限制增加进去的私钥

如果重启之后,会发现需要重新 load 以下 ssh-agent

ssh-add -K 将指纹加到钥匙串里面去
ssh-add -A 可以把钥匙串里面的私钥密码,load 进 ssh-agent

引用参考:https://www.cnblogs.com/piperck/p/6188984.html

4. 使用不同账户操作仓库

一般情况下,我们是通过如何的方式克隆一个项目:

1
git clone git@github.com:your-account/your-project.git

我们需要对这个语句中的域名部分做一下修改:

1
2
# 示例一
git clone git@主机名1:your-account/yourproject.git
1
2
# 示例二
git clone git@主机名2:your-account/your-project.git
  • 结构分析

git@主机名:your-account/your-project.git

git : 是指 ssh 连接的账户名
主机名 : 是指在 ~/.ssh/config 中 Host 字段定义的主机别名。
your-account : 指的是 git 账户下的仓库用户名 ?
your-project.git : 指的是 Git 仓库的路径