Jenkins PHP 部署示例

搭建 Jenkins

在本地搭建 Jenkins.

参考 jenkins 安装

配置 SSH

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

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

selection_011

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

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

配置项目

  • 创建一个项目

selection_012

  • 输入项目名字,选择 Freestyle project

selection_013

  • 添加项目仓库

selection_014

  • 配置构建

selection_015

selection_016

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

selection_018

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 就可以了.

如果觉得不错,可以给我一个 STAR.

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 3年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

使用Drone + Gogs 基于Docker构建CICD,既轻量级、简洁,搭建又简单笔记
https://github.com/alicfeng/gogs-drone-doc...

5年前 评论

@AlicFeng 后面学习 docker 之后,重新用 docker 构建了 ,方便很多,你说的那种方式没了解过,有机会的话再尝试,谢谢分享.

5年前 评论

当我用jenkins构建项目的时候,shell命令如同楼主的一样:
如下:
(我的本意是在jenkins上把第三方包下载好,然后打包)
file
但当我构建的时候报了这样的错误:

file

任何对我有用的帮助,都将万分感谢~!

4年前 评论

@xingseng composer 使用绝对路径吧,感觉是 composer 安装了,但是没有加入到 path 中那种。

4年前 评论

@Cryven 感谢,我现在是把vender目录打包放服务器保存一份。shell中就不必composer install了。不过还是觉得不妥,一会排查排查你说的路径问题

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!