发布PHP代码

  • 查看插件:

系统管理–>插件管理,“可选插件”是未安装的插件,“已安装”是已经安装的插件,其中勾选为灰色的是不可卸载的插件。

检查是否有“Git plugin”和“Publish over SSH”两个插件,如果没有,在“可选插件”中安装。发现“Publish over SSH”没有,安装它

在这里插入图片描述

安装完插件后,直接在linux机器上重启jenkins服务,而不是勾选空闲时重启

# systemctl restart jenkins

重新在浏览器上登录jenkins,并在linux机器上生成一对秘钥

# cd ~/.ssh/

# ls				#如果之前有生成过密钥对,那可以直接用,不需要再生成
authorized_keys  known_hosts

# ssh-keygen -f ~/.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:
SHA256:VF7nN5V6pPco5DDnm8PUeu8OEg3VMj/IkgfYkqd/Hx4 root@lzx
The key's randomart image is:
+---[RSA 2048]----+
|          = . o.o|
|         * = +ooo|
|        . = = *=.|
|       . .oooO =o|
|        S .B+.+.o|
|           .=ooE.|
|           oo=+ o|
|            *..+ |
|             o ++|
+----[SHA256]-----+

# cat jenkins				#查看私钥
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAu+H7NOAvrPYWwNPur64cwZYJz80MZdmQP44KJy1Zcqsfmawt
axjbgzZSPyXSM9fDqo32dR4OR8PdqFdnSDWU8gXl2tgTcsUiy+y+1TB7ZdgzmI8Z
LAAGKQsrWOFMBB9GCfBlAL6eGg4nnsnc4bDT2sJhZuzgfW/qK5AyWSCIm2wvfFw5
1m2WcaslRzNwGkg2cFK4tuY0ZkiF/UfA+YC88RAhSbjFD5FQKLzSHmkZbxbSGC09
cYtsZb3g4VwmkZUEuU/jy5nBUpxv54B6NjkvMxCVx9M/zviiTSZt+yRDaMySISxB
/3Y9FP7R/3Rcf1ZXYGK32hmQ55pDlbcM0gCEFQIDAQABAoIBAD0uSFweiMfc1unx
2W7R1sFfN1C4p8nev+9CNKIvTUpe2Qp0m9GdJZYjsUKo8Ts6jpfSZKgcom/SIzL3
S0WjVR4+t2u9IxAji8I2FKpdgEFY1uxd5MeENn1VCseFjfhlqqv/4RQN/nPjmhlG
CKxhpYs98vPOPQf70phe+1Y0ludtEztiJEM7viIsF8PLlCwf6P7S1JFIXXOAo+xQ
JAHt3AlzUj+HVfq97SbS+cbhuR/MwvIMQs54AsyPOVtt1Q7AOniDw/bnX8JpE9mU
diww6KHn/qQIB0DSWgvfyGwC6qM6C3nUv+EyybdJBcEsYAUH3SgZpBvu3smT2XN9
MCAFegECgYEA524LrSj57hPSKdGO3RT/jVReq0fHJscqSELHAl40lPSKQm+vFK2L
Z20jnQhPg9ebJQjqdkZ/J8EHuwuZjtiqYAeWUERcp5cEEm/BQZ5fB+vYlTZ+QXNa
S6Z9ex2/+qBwY8bJeZR5LPEzVN2cENH8t6FiJO1/csgS3T+KAxnGZoECgYEAz9Ri
CyGwoJs9IpEb3y9Q1AVeFvUQ47XQGJo4xD5nivJ3W/4XApajJl6hXoVp96Z0gXIR
Hhqp+/d4MOlDSeAUPeHcW6gE0h8BYl25fXbvXSpA7rSv8QU+BtQ4vMpsKF5bpRNt
vQjeJrPtHLuFJrOZ6yzov3s4EXlt0AbOBlWXW5UCgYEAvmn6zXRjfxFr3+B97UUz
pnL+mWqrXyqLjXz0BOzB0rUJdPQzV44anvRbUv7dfZrOGcCmOL50LJ9T3wACTlfS
hsR3Vn+IxJMqVIkCtxy5D+lrAAogA3YHmyrXH48wv+N11YJfjtssgF/MXk0f9W7w
wZ3VBJEsRaJ8cvGuejKg3QECgYEAzvoAun1O3mQ8OlSxoVAJ+11tGwftThofqKDO
sAJGNEbNQDyIxfcnfGr54pyTsCOCG/hxu71qVJlchbmJXeVfw1FQl6d5RZnDUyds
N9te/zW5fQFNx4clAsAP0VT26i0ur/PtcjmGpJzEI71NGgH75A7RrQEWEbERAAAG
5qAPIRECgYEAjpNyIsvDYcEtBj/oCQCa3FdPsGqRaYmBZLqJ4nCP5DolYgJkewKx
n5+AIYsXYYKB7W4a0uPKN6gMVVAkm0Icletpf9UpT51uMSR5JpqIwqOFNgI0+NkV
+jlerYcD909WjV3OqrwZm7yPqwa2RPkIfCbeHnXbkAcv+DuWn4L8RdI=
-----END RSA PRIVATE KEY-----

系统管理–>系统设置,找到之前安装的Publish over SSH插件,Passphrase填写之前生成秘钥时设置的密码,没有则留空,Path to key留空,Key粘贴/root/.ssh/jenkins文件内容。

在这里插入图片描述

然后新增SSH Servers,填入对应的hostname,这就是PHP代码要发布的机器

在这里插入图片描述

接下来还需要把公钥拷贝到对应的hostname机器(lzx1)上

# cat jenkins.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC74fs04C+s9hbA0+6vrhzBlgnPzQxl2ZA/jgonLVlyqx+ZrC1rGNuDNlI/JdIz18OqjfZ1Hg5Hw92oV2dINZTyBeXa2BNyxSLL7L7VMHtl2DOYjxksAAYpCytY4UwEH0YJ8GUAvp4aDieeydzhsNPawmFm7OB9b+orkDJZIIibbC98XDnWbZZxqyVHM3AaSDZwUri25jRmSIX9R8D5gLzxECFJuMUPkVAovNIeaRlvFtIYLT1xi2xlveDhXCaRlQS5T+PLmcFSnG/ngHo2OS8zEJXH0z/O+KJNJm37JENozJIhLEH/dj0U/tH/dFx/VldgYrfaGZDnmkOVtwzSAIQV root@lzx

到lzx1上粘贴jenkins.pub

# cd ~/.ssh/

# ls
authorized_keys

# vim authorized_keys				#写入下面内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC74fs04C+s9hbA0+6vrhzBlgnPzQxl2ZA/jgonLVlyqx+ZrC1rGNuDNlI/JdIz18OqjfZ1Hg5Hw92oV2dINZTyBeXa2BNyxSLL7L7VMHtl2DOYjxksAAYpCytY4UwEH0YJ8GUAvp4aDieeydzhsNPawmFm7OB9b+orkDJZIIibbC98XDnWbZZxqyVHM3AaSDZwUri25jRmSIX9R8D5gLzxECFJuMUPkVAovNIeaRlvFtIYLT1xi2xlveDhXCaRlQS5T+PLmcFSnG/ngHo2OS8zEJXH0z/O+KJNJm37JENozJIhLEH/dj0U/tH/dFx/VldgYrfaGZDnmkOVtwzSAIQV root@lzx

lzx上登录lzx1测试

# ssh lzx1
root@lzx1's password: 
Last login: Thu Sep 20 20:51:25 2018 from 192.168.33.1

#exit       
logout
Connection to lzx1 closed.
[root@lzx .ssh]#				#ssh登录没问题

浏览器上测试连接有没有问题,点击Test Configuration,如果没问题,左侧会显示Success,如下图

在这里插入图片描述

这就说明我们前面的配置是没问题的。点击应用,出现“已保存”

在这里插入图片描述

如果有多台web server ,可以继续新增,重复以上操作,最后点击保存

  • 新建任务:

回到首页,点击创建一个新任务,自定义任务名称,选择构建一个自由风格的软件项目

在这里插入图片描述

点击确定

在这里插入图片描述

描述自定义;源码管理选择Git(如果使用SVN就选择Subversion);Repository URL选择自己公共仓库的地址,这里为了方便我使用别人的公共仓库;Branches to build默认为*/master,意思是发布代码的分支为master分支;构建触发器构建环境留空;构建选择Send files or execute commands over SSHName选择对应的服务器,Source files填入**/**,表示要发布的代码为全部文件,Remote directory填入/tmp/jenkins_test(自定义一个存放PHP代码的文件夹名),Remove prefixExec command可以留空

在这里插入图片描述

点击Add Server可以增加更多台服务器,在生产环境下通常也是多台服务器一起发布代码。点击保存

在这里插入图片描述

点击左侧立即构建,会出现构建历史,其中#1表示第一次构建

在这里插入图片描述

点击#1,点击控制台输出

在这里插入图片描述

可以查看构建成功,通常构建完,不管是成功还是失败都会有邮件通知。这里因为没有配置邮件,所以没办法接收到邮件。

到lzx1上查看

# ll !$
ll /tmp/jenkins_test/
total 100
drwxr-xr-x 2 root root    66 Sep 21 02:42 D11Z
drwxr-xr-x 2 root root   260 Sep 21 02:42 D12Z
drwxr-xr-x 2 root root    24 Sep 21 02:42 D13Z
drwxr-xr-x 2 root root  4096 Sep 21 02:42 D14Z
drwxr-xr-x 2 root root  4096 Sep 21 02:42 D15Z
drwxr-xr-x 2 root root    25 Sep 21 02:42 D17Z
drwxr-xr-x 2 root root    76 Sep 21 02:42 D18Z
drwxr-xr-x 2 root root   155 Sep 21 02:42 D19Z
drwxr-xr-x 2 root root    83 Sep 21 02:42 D20Z
drwxr-xr-x 2 root root   200 Sep 21 02:42 D21Z
drwxr-xr-x 2 root root   128 Sep 21 02:42 D22Z
-rw-r--r-- 1 root root 18044 Sep 21 02:42 LICENSE
-rw-r--r-- 1 root root   419 Sep 21 02:42 README.md
-rw-r--r-- 1 root root 66243 Sep 21 02:42 习题答案.txt      

和我们发布的源是一致的,如下图

在这里插入图片描述

如果在源上面做了变更,继续点击立即构建,如果构建成功,那么在目标机器上也可以看到变更的内容。


猜你喜欢

转载自blog.csdn.net/test_leader/article/details/108980977