我使用的是docker安装的方式, 安装步骤:jenkins.io/zh/doc/book…git
此处假设你已经成功登陆进入了jenkins, 能够看到下图界面github
好, 如今咱们进入镜像系统命令行中, 生成ssh密钥docker
$ docker ps
复制代码
docker exec -it 你的镜像ID /bin/bash
复制代码
这里说明一下为何配置ssh, 这样能够更好的免密使用git 和 免密码登陆远程服务器shell
$ cd /root/.ssh
$ ssh-keygen -t rsa -C 你邮箱
$ cat id_rsa.pub
复制代码
最后一个命令后, 能够看到这串密钥 npm
随后咱们分别去github和须要远程链接的服务器的服务商(好比良心云, 套路云)那配置ssh, 这玩意我就很少说了.我是一条酸菜鱼api
系统管理
Add
按钮, 添加凭据, 就是帐号密码, 搞好后点击链接测试, 成功便可
Advance
shell
#!/bin/sh
ssh -tt 远程服务器用户名@远程服务器ip << remotessh
cd /home/tlgc_server_api
/bin/git pull
npm run stop
npm run start
exit
remotessh
复制代码
Pseudo-terminal will not be allocated because stdin is not a terminal.
因此给ssh
加上-tt
参数, 为了能够在远程机器上执行命令, 须要 << remotessh
, 这里注意, 最后两句, 用来退出远程机器, 否则的话, 会致使任务没法终治.git
的完整路径, 以前写cron
的时候也遇到过, 执行bash
, 须要使用/bin/bash
, 这里执行git
命令, 也须要完整路径/bin/git
, 昨晚我就用git
, 而后也没加最后两句终治, 任务就一直卡在那,卡一夜...感受还行, 虽然没用到jenkins其余好功能, 可是适合本身的就是最好的 目前体验过的自动化部署有bash
之前以为daocloud方便, 如今目前开发用的是jenkins, 看我的口味了服务器