通过Jenkins发布php代码
发布时间:2022-09-16 14:47:08 所属栏目:PHP教程 来源:
导读: 我们都知道Jenkins是一个用于持续集成的工具,所以本文简单介绍一下如何通过Jenkins来发布php代码到远程的机器上,实验环境如下:
两台机器,一台安装了Jenkins作为Jenkins服务器,一台作为远程的服务器
两台机器,一台安装了Jenkins作为Jenkins服务器,一台作为远程的服务器
|
我们都知道Jenkins是一个用于持续集成的工具,所以本文简单介绍一下如何通过Jenkins来发布php代码到远程的机器上,实验环境如下: 两台机器,一台安装了Jenkins作为Jenkins服务器,一台作为远程的服务器: 如果没有安装过Jenkins的话,可以参考我另一篇关于安装Jenkins的文章。 在通过Jenkins发布php代码之前,我们首先需要在Jenkins服务的web页面上检查一下 “Git plugin” 和 “Publish Over SSH” 两个插件是否已安装: “系统管理” → “管理插件” → “已安装”,然后搜索Git plugin看看是否已安装,一般这个插件都是默认安装的: 通过Jenkins发布php代码 然后再搜索Publish Over SSH,可以看到如果没有安装是搜索不到的: 通过Jenkins发布php代码 然后到 “可选插件” 里安装 Publish Over SSH 插件: 通过Jenkins发布php代码 安装完成: 通过Jenkins发布php代码 重启Jenkins服务: systemctl restart jenkins.service 确保两个插件都安装好后,点击“系统管理” → “系统设置”,下拉页面,大概在网页的最下面可以找到 “Publish Over SSH” : 通过Jenkins发布php代码 然后在服务器上先生成一对密钥: [root@server ~]# ssh-keygen -f /root/.ssh/jenkins Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/jenkins. Your public key has been saved in /root/.ssh/jenkins.pub. The key fingerprint is: 75:f0:ac:f1:56:6d:f4:a8:9c:d5:57:9b:e8:e3:5f:83 root@server The key's randomart image is: +--[ RSA 2048]----+ | . o| | + .==| | o +.+o*| | . *.= ..| | S . *o | | .. o | | E ..| | . o| | . | +-----------------+ [root@server ~]# ls .ssh/ id_rsa jenkins jenkins.pub authorized_keys id_rsa.pub [root@server ~]# 生成密钥对后,首先把公钥拷贝到远程的机器上去,也就是把公钥的内容粘贴到 .ssh/authorized_keys 文件里,和我们之前配置远程登录的密钥验证是一样的。 拷贝完公钥之后,我们来使用以下命令手动测试一下能否通过ssh登录远程的机器: ssh -i .ssh/jenkins 192.168.77.128 能正常登录则代表没有问题,如果出现让你出入用户密码的情况则是密钥没有配置成功,配置成功的情况下登录是不需要密码的。 完成测试确保能够正常通过ssh登录远程机器后,接着就是把私钥的内容粘贴到 “Key” 这一栏里: 通过Jenkins发布php代码 然后完成远程机器的配置,点击 “Apply” 后如果不需要再继续添加远程机器则点击 “保存” 即可: 通过Jenkins发布php代码 注:Jenkins SSH Key 这一栏默认会使用Jenkins管理员admin账户的密码,可以不填则设置为空密码。 以上我们配置完了插件以及远程机器,现在就可以开始新建任务了: 通过Jenkins发布php代码 通过Jenkins发布php代码 配置项目名称与描述: 通过Jenkins发布php代码 配置远程仓库的地址: 通过Jenkins发布php代码 构建触发器php代码,以及构建环境都不需要配置,因为我们发布的是php代码: 通过Jenkins发布php代码 最后就是 “构建” ,最核心的一步,选择 “Send files or execute commands over SSH” : 通过Jenkins发布php代码 简单说明: 完成以上操作后,就可以使用这个刚刚创建的任务去工作了,点击左面的 “立即构建” ,就能把git上的代码发布到指定的服务器上: 通过Jenkins发布php代码 构建中: 通过Jenkins发布php代码 构建完成: 通过Jenkins发布php代码 点击查看输出日志: 通过Jenkins发布php代码 输出日志如下: 通过Jenkins发布php代码 到远程机器上,看看是否已经存在jenkins_test这个目录: [root@client ~]# ll /tmp/jenkins_test/ 总用量 108 drwxr-xr-x 2 nobody nobody 64 2月 26 15:04 D11Z drwxr-xr-x 2 nobody nobody 4096 2月 26 15:04 D12Z drwxr-xr-x 2 nobody nobody 23 2月 26 15:04 D13Z drwxr-xr-x 2 nobody nobody 4096 2月 26 15:04 D14Z drwxr-xr-x 2 nobody nobody 4096 2月 26 15:04 D15Z drwxr-xr-x 2 nobody nobody 24 2月 26 15:04 D17Z drwxr-xr-x 2 nobody nobody 73 2月 26 15:04 D18Z drwxr-xr-x 2 nobody nobody 148 2月 26 15:04 D19Z drwxr-xr-x 2 nobody nobody 80 2月 26 15:04 D20Z drwxr-xr-x 2 nobody nobody 4096 2月 26 15:04 D21Z drwxr-xr-x 2 nobody nobody 122 2月 26 15:04 D22Z -rw-r--r-- 1 nobody nobody 18044 2月 26 15:04 LICENSE -rw-r--r-- 1 nobody nobody 419 2月 26 15:04 README.md [root@client ~]# 如上,可以看到文件都同步成功了,而且文件的属主属组也是我们设置的nobody。之后只要远程仓库里的源文件的内容发生改变,需要同步到线上则只需要点击该任务的 “立即构建” 即可。 (编辑:百客网 - 百科网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

