最近的一个项目部署涉及4台机器,每次提交代码后都要登录到对应的机器去更新代码、更新supervisor配置、启动uwsgi等,非常的麻烦。我希望的是有一种方式是一键部署,下面来介绍一下如何使用jenkins实现一键部署。
步骤
一、jenkins安装
具体安装步骤见官网,ubuntu下安装步骤为: http://pkg.jenkins-ci.org/debian/
安装后默认服务是启动的,默认是8080端口,在浏览器输入:http://127.0.0.1:8080/即可打开主页,如图:
二、SSH plugin安装
为了访问远程主机,这里安装一款jenkins里管理ssh登录的插件.访问http://127.0.0.1:8080/pluginManager/即可打开插件管理页面进行安装了,具体步骤就不写了。
插件安装好后,打开系统设置:http://127.0.0.1:8080/configure,会多出一项名为SSH remote hosts,如图:
点击,增加可以看到如图:
填写要访问主机信息即可,这里需要注意的是设置Keyfile:
(1) Keyfile可以是绝对路径或相对路径(相对的目录是在当前页面最上边名为”主目录”)
(2) 需要保证jenkins具有访问keyfile的权限,否则会提示找不到keyfile的.
填写好后,保存即可。
三、创建job
在主页面点击”新建”会进入job创建页面,如图:
填写”Item名称”、选择”构建一个自由风格的软件项目”,点击ok。会进入所创建的job的配置界面。找到”构建”这里,如图:
点击增加构建步骤如图:
点击”Execute shell script on remote host using ssh”,如图
可以看到SSH site这里有一个远程主机,这里是上一步设置的。
我们可以在Command里输入需要在远程主机执行的命令。假如需要在远程主机/home创建一个文件a.txt,可以这样写:
写好后点击保存。
四、构建
Job创建好后,在主页面可以看到如图:
点击红线内的按钮即可执行构建,这里会执行上一步写的命令。
执行完后如图:
左边”蓝色”圆圈表示执行成功,点击上次成功下面的”#1”表示这次执行的构建号,如图:
点击左侧的”Console Output”可以看到这次执行的输出,如图:
扩展
(1) 使用jenkins搭建django测试的持续集成:jenkins可以格式化显示django-nose的输出,所以创建一个专门测试的job,设置定时构建,这样当测试用例失败时可以邮件通知,尽早发现错误。
(2) 使用jenkins搭建一键升级:传统升级,都是每次登录到各个机器更新代码、执行相关脚本,通过jenkins只需要写好命令,以后每次点击”构建”按钮即可升级。而且还可以随着需求修改命令。
(3) Jenkins支持远程构建,即可以通过一个url请求触发构建。意味着可以通过手机进行项目升级、发布代码等。
如果您需要了解更多内容,可以
加入QQ群:486207500
直接询问:010-68438880-8669