Jenkins发布web前端代码
“系统管理”“管理插件”“已安装”
检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装
安装好两个插件后,点击“系统管理” “系统设置”
下拉,找到“Publish Over SSH”
事先在一台linux服务器上生成一对密钥
在 /etc/passwd中 修改 jenkins 为 /bin/bash
jenkins:x:494:494:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
在客户端
/etc/ssh/ssh_config 中修改
StrictHostKeyChecking no (去掉注释)
在 jenkins 服务器切换到 jenkins账户 su - jenkins
创建密钥
ssh-keygen
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
将公钥内容 id_rsa.pub 拷贝到客户端 /root/.ssh/authorized_keys 文件内
“Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴 /var/lib/jenkins/.ssh/id_rsa 文件内容 (key为jenkins私钥内容)
点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/
如果是多台web server,继续点击“增加”,重复以上操作
点左下角的“保存”
点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”
描述,自定义
“源码管理”选择 “Git”
“Repository URL”填写你项目的git地址,如果是公共项目可以不设置下面的参数,直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,然后设置Username以及private key
“Branches to build” 默认为*/master,意思是发布的分支为master,保持默认
“构建触发器”和“构建环境”留空
“构建”,选择 “Send files or execute commands over SSH”
SSH Server,Name 选择对应的服务器,Transfers, Source files填写**/**,表示全部文件
Remove prefix可以指定截掉的前缀目录,这里留空即可,Remote directory指定远程服务器上代码存放路径,比如/data/wwwroot/www.aaa.com,Exec command为文件传输完成后要执行的命令,比如可以是更改文件权限的命令 (比如 /bin/bash /data/website/activities/source/init/test_init.sh 可执行目标服务器上的脚本)
,设置完成后点击 “Add Transfer Set”,如果还有另外的机器,可以点击 “Add Server”重复以上操作
最后点击左下角的“保存”
完成以上操作后,就可以使用这个刚刚创建的任务去工作了。
点击左面的“立即构建”,就能把git上的代码发布到指定的服务器上。
点击左下角的#1/#2… ,然后再点击 “Console Output”可以查看输出日志