Jenkins 发布PHP代码到服务器

1 安装java 1.8

```
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update[先看下面:这里]
sudo apt-get install oracle-java8-installer

```
用 java -version 查看java版本

```
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

```

java 安装成功

2 安装jenkins

```
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

sudo apt-get update -y[这里]
sudo apt-get install jenkins -y
```

jenkins 安装完成

开启jenkins 服务
service jenkins start

访问:http://192.168.22.64:8080
[这里ip改成自己的ip]

打开jenkins界面插件管理-安装1个插件


```
Publish Over SSH
```
然后配置SSH Server
系统设置-->Publish over SSH->

配置一番过后:
开始创建任务:

点击新创建任务->输入一个名字->构建一个自由风格的项目->确定

然后来到一个任务界面:

图1

Jenkins在每一次的执行构建会生成一个历史构建记录以及生成一份历史构建的项目发布包,越来越多的历史包让磁盘被占用的空间越来越大,如果磁盘空间被占用完,由于没有再可以被写入的空间会影响其他软件的运行。

接下来需要配置git源


图2

我们这里一共可以使用两种配置:
第一种rsync:

图rsync

在项目的:配置-=>构建-=>执行shell
然后配置如下命令:

```
rsync -azvP --port=873 --password-file=/var/lib/jenkins/workspace/php-deploy/rsync.passwd /var/lib/jenkins/workspace/php-deploy/* root@xx.xx.xx.xx::lj
```

具体意思请查看另外一篇博客[rsync同步]

保存之后就可以构建了。

第二种 Publish Over SSH

在项目的:配置-=>构建环境-=>Send files or execute commands over SSH after the build runs

图5

如果有多台机器可以选择添加[Add Server]

这里碰到一个问题:配置完成之后,看控制台输出老是发现send files 0

搜索之后发现:Source files 的路径是jenkins的workspace的路径,它不支持绝对路径,下面的Remote Directory之前配置SSH的Remote Directory相对路径[可以理解远程机器上存放的路径]。

**/* 是指这个workspace/项目名 下的所有文件夹
Remove Prefix: 这个是当你上传到目标服务器时,需要移除jar包之前的路径[这里留空]
Exec Command:指在远程服务器上要执行的指令。[执行的用户是jenkins的配置用户,默认为jenkins]

保存构建

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注