Maurice Wu
Published on

jenkins publish over ssh

docker 部署 jenkins

使用 docker 启动 jenkins

docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11

然后访问 host:8080进入欢迎页面,一开始,jenkins会要求你输入密钥。这个密钥存在 jenkins 容器里的以下位置。

fiddler screenshot

接着你就可以创建第一个管理员账户。

publish over ssh

在插件管理页面选中安装。

fiddler screenshot

全局配置

然后在系统配置中,找到 publish over ssh 版块(在安装了该插件自动会出现),配置对应的要发布的 server.

fiddler screenshot

如果发布服务器配置了免密码登录

那么你可以将认证私钥配置在这里。

fiddler screenshot

注意:jenkins 现在的版本 (v2.x)不支持太高的加密算法版本。

可根据下面的命令生成密钥对。

ssh-keygen -m PEM -t rsa -b 4096 -C "xxx@xxx.com"

项目配置

fiddler screenshot
  1. SSH Server 指定为sit, 就是全局配置中的 sit。
  2. Source files 中只能是相对路径,相对于当前 $WORKSPACE. **/* 表示的是当前 workspace 下所有的文件,不包括 .git
  3. Remote directory 也是一个相对路径,哪怕你指定为 /work的形式,其最后的目标路径是 global remote directory+ project remote directory. 如果你的global remote directory没有配置或者为空,那么就是登录目标服务器的用户目录。例如我们配置的 ssh 登录用户是 root,那么此时的目标路径就是 /root + project remote directory