Jenkins-发布php代码

1、安装插件

需要安装Git plugin和Publish Over SSH插件
系统管理–插件管理–可选插件里搜索安装,安装完后需要重启Jenkins。
可以在安装时勾选下面的安装完后自动重启Jenkins选项,会看到以下画面:

安装完成后自动刷新,需要重新登录

2、配置密钥对

需要在插件管理里配置Publish Over SSH,并在管理主机上生成密钥对

首先,利用ssh-keygen工具来生成密钥对:ssh-keygen -t rsa

[root@elk-test1 .jenkins]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  #密钥存放位置,默认回车
Enter passphrase (empty for no passphrase):  #密码,直接回车表示为空
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
20:05:8f:9f:f5:8e:53:36:d5:ae:3f:5c:b3:2c:f3:2d root@elk-test1
The key's randomart image is:
+--[ RSA 2048]----+
|    ...          |
|     +       .   |
|    o o .   . .  |
|     o + . . .   |
|      o S =   .  |
|         = . . ..|
|        o . ....o|
|         .   +Eo.|
|              =+.|
+-----------------+

其次,在系统管理–系统设置中,拉取到最下面位置填写以下信息:

  • Jenkins SSH Key:Jenkins ssh密码
  • Passphrase:设置的文件密码
  • Path to key:密钥文件路径
  • key:直接填写私钥内容即id_rsa的内容

我们在此直接将私钥的内容直接填写到key栏里。

高级选项中:

  • Name 远程主机名称
  • Hostname 远程主机IP
  • Username 登录用户
  • Remote Directory 远程连接目录

SSH Servers中:

指的是Jenkins需要发布包的远程机器,需要将公钥复制一份在远程机器上,以供Jenkins来连接它

在172.16.16.201的/root/.ssh/下创建文件:authorized_keys,将Jenkins上生成的id_rsa.pub的内容拷贝进去:

vim authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxA4lH50gkIRrr0kSf7qEXYbt/vPC83zdfaXb+qkWyZ4bUzpulp2
fCms70OL8BIKBXVcYxVjZVPnm0zINijX07ChjlAxL8yhVAUcUqoKTyy2mQIW5cm6mYzutmHBXNNHlFEzYeylKcE/L1
qHvrt2aBuP7D2LmdOU+dF4TdmRrUOoeuXbuz8xVSoT5qorQhhMSJbhAtm9UZK+sHXqW7Uf3+b5YxZkEh6Zpyd+MbzB
LILfw668CFwi1wYU4Fq7iR/Wycd/dIvYzGUrr+Fcisl8hHO5aKZXBFK5DsgvhQR8BqNmYsaHROzLLEOwU8kXvC2ZNq
SAtnAU9KA5edBX+bipnz root@elk-test1

在SSH Servers的高级选项卡里,需要填写连接用户的密码

然后点击”Test Cofiguration“,测试连接,会提示”Success” ,然后保存提交即可。

如果有多个主机,则继续添加。也可以 添加本机进去。

3. 创建任务

开始创建任务,输入任务名称,选择“构建一个自由风格的软件项目”

在源码管理栏目里,输入测试的(代码所在仓库,svn、git、gitlab均可)git项目地址:

以下留空,因为我们要发布的内容不需要解压编译安装等进一步的操作:

首先需要选择构建步骤,因为我们是通过插件Publish Over SSH来构建发布php,所以,此处选择Send files or execute commands over SSH。

填写构建信息:

在高级设置里的其他细节设置暂且忽略;在Add Transfer Set中可以添加更多的传输信息。

有多个远程主机需要发布,则Add Server更多主机信息。

填写完成后就可以“保存”。

4. 开始构建

选择刚刚添加的任务,点击“立即构建”开始构建

进入构建任务的输出控制台,查看构建进度:

在172.16.16.201远程发布的sever上查看项目是否发布过来,并且修改了属组

[root@test02 .ssh]# cd /tmp/jenkins_php/
[root@test02 jenkins_php]# ll
total 136
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D11Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D12Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D13Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D14Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D15Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D17Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D18Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D19Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D20Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D21Z
drwxr-xr-x 2 root root  4096 Jan 15 10:43 D22Z
-rw-r--r-- 1 root root 18044 Jan 15 10:43 LICENSE
-rw-r--r-- 1 root root   419 Jan 15 10:43 README.md
-rw-r--r-- 1 root root 66243 Jan 15 10:43 习题答案.txt

至此,简单的Jenkins发布php代码就实验完成了。

标签:JenkinsPHP 发布于:2019-10-29 17:15:57