Jenkins PHP 部署示例

搭建 Jenkins

在本地搭建 Jenkins.

参考 jenkins 安装

配置 SSH

配置 ssh, 程序在 Jenkins 服务器打包完之后,发布到目标服务器上.

Manage Jenkins -> Configure System -> Publish over SSH -> Add

Selection_011.png

这里需要特别注意的是 Remote Directory.

此目录必须存在,不会自动创建. 而且发布机(Jenkins)只能将文件放在此目录下.

配置项目

  • 创建一个项目
Selection_012.png
  • 输入项目名字,选择 Freestyle project
Selection_013.png
  • 添加项目仓库
Selection_014.png
  • 配置构建
Selection_015.png
Selection_016.png
project=blog
desc_name=/tmp/$project.$BUILD_ID.$BUILD_NUMBER.tar.gz

composer install --no-dev

tar -cvz  --exclude='.git' --exclude=$desc_name -f $desc_name .
mv $desc_name .

这里使用 . 而不是 ./*, ./* 不会压缩隐藏文件
项目里会包含配置文件 .env.example 这种隐藏文件.

  • 构建完之后,发布到目标服务器
Selection_017.png
Selection_018.png
PREFIX=/data/www
LIB=$PREFIX/lib

TIME=$(date +%Y%m%d%H%M%S)

DESC_NAME=blog."$TIME"
DESC=$LIB/$DESC_NAME

LINK_NAME=blog
LINK_DESC=$PREFIX/$LINK_NAME

mkdir -p $DESC
tar -xzf /tmp/demo/blog.$BUILD_ID.$BUILD_NUMBER.tar.gz -C $DESC
cd $DESC
cp .env.example .env

ln -snf $DESC $LINK_DESC

配置完成,保存,点击 Build Now 就可以了.

你可能感兴趣的:(Jenkins PHP 部署示例)