我使用的是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, 看我的口味了服務器